Ağ sürücülerinin Tespiti

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public Devamını oku …

Tablodan dosyaya aktarma

unit Exttab;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,dialogs,
Db, DBTables,StdCtrls,ComCtrls,WinTypes, WinProcs, ExtCtrls,DBCtrls;

const
LANGUAGE=’TURKISH’;
REGISTERED=FALSE;

type
TExtTab= class(Ttable)
private
{ Private declarations }
f_message:string;
f_about:string; Devamını oku …

Aranan alan tabloda var mı?

Function IsField(DatabaseName, TableName, FieldName: String): Boolean;
Var
Query : TQuery;
T : TTable;
i : Integer;
UpperFN : String;
TestFN : String;
Begin
Result := False;
UpperFN := UpperCase(FieldName);
If Not IsTable(DatabaseName, TableName) Then Exit;
Query := TQuery.Create(nil);
T := TTable.Create(nil);
Try
Try
Query.DatabaseName := DatabaseName;
Query.Sql.Clear;
Query.Sql.Add(‘Select ‘); Devamını oku …

Bir tablo alanındaki değerlerin sağ tarafındaki boşlukların temizlenmesi

Function DBTrimBlanksRight(
DatabaseName : String;
TableName : String;
FieldName : String): Boolean;
Var
Q : TQuery;
S : String;
Begin Devamını oku …

Tablo yapıları aynı mı?

Bu fonksiyonda, iki tablonun yapisi karsilastirilir ve ayni ise TRUE degeri döndürülür.
Function DBSchemaSame(const
DatabaseName1,
Table1,
DatabaseName2,
Table2: string): Boolean;
Begin
Result := Devamını oku …

Tablo adının değiştirilmesi

Function DBReNameTable(
DatabaseName,
TableNameOld,
TableNameNew: String): Boolean;
Begin
Result := True;
Try
If Not IsTable(DatabaseName, TableNameOld) Then
Begin
Result := False;
Exit;
End;

{First Copy The Source Table To The New Table}
If Not DBCopyTable(
DatabaseName,
TableNameOld,
DatabaseName,
TableNameNew) Then
Begin
Result := False;
Exit; Devamını oku …

Tablonun anahtar alanların tespiti

Function DBKeyFieldNamesToTStrings(
DatabaseName : String;
TableName : String;
Strings : TStrings): Boolean;
Var
Table : TTable;
FieldNo : Integer;
Begin
Result := False;
If Not IsTable(DatabaseName, TableName) Then Exit;
Table := TTable.Create(nil);
Try Devamını oku …

Tabloda Alan tiplerinin bulunması

Function TypeField(DatabaseName, TableName, FieldName: String): String;
Var
Table : TTable;
FieldIndex : Integer;
FieldType : TFieldType;
Begin
Result := ”;
If Not IsTable(DatabaseName, TableName) Then Exit;
If Not IsField(DatabaseName, TableName, FieldName) Then Exit;
Table := TTable.Create(nil);
Try
Try
Table.Active := False;
Table.DatabaseName := DatabaseName;
Table.TableName := TableName;
Table.Active := True;
FieldIndex :=
Table.FieldDefs.IndexOf(FieldName);
FieldType :=
Table.FieldDefs[FieldIndex].DataType;
Devamını oku …

Tabloda Alan uzunluğunun bulunması

Tablo içerisindeki bir alanın, uzunluğu, bu fonksiyon ile bulunur.

Function DBFieldSize(DatabaseName, TableName, FieldName: String): Integer;
Var
Table : TTable;
FieldIndex : Integer;
FieldSize : Integer;
Begin
Result := 0;
If Not IsTable(DatabaseName, TableName) Then Exit;
If Not IsField(DatabaseName, TableName, FieldName) Then Exit;
Table := TTable.Create(nil);
Try
Try
Table.Active := False;
Table.DatabaseName := DatabaseName;
Table.TableName := TableName;
Table.Active := True;
FieldIndex := Devamını oku …

Tabloda Alan numarasının bulunması

Bu fonksiyon, adi bilinen bir alanın, tablo içerisindeki sırasını bulur.
Function DBFieldNo(DatabaseName, TableName, FieldName: String): Integer;
Var
Table : TTable;
FieldIndex : Integer;
FieldNumber: Integer;
Begin
Result := -1;
If Not IsTable(DatabaseName, TableName) Then Exit;
If Not IsField(DatabaseName, TableName, FieldName) Then Exit;
Table := TTable.Create(nil);
Try
Try
Table.Active := False;
Table.DatabaseName := DatabaseName;
Table.TableName := TableName;
Table.Active := True; Devamını oku …

Tabloda Alan adının bulunması

Sira numarasi verilen bir tablo alaninin alan adi bu fonksiyonla alinabilir.
Function DBFieldNameByNo(
DatabaseName : String;
TableName : String;
FieldNo : Integer): String;
Var
Table : TTable;
Begin
Result := ”;
If Not IsTable(DatabaseName, TableName) Then Exit;
If FieldNo < 0 Then Exit;
If FieldNo >= DBNFields(DatabaseName, TableName) Then Exit;
Table := TTable.Create(nil); Devamını oku …

Herhangi Bir veritabanından Tablo silme

erhangi bir veri tabanindan tablo silmek gerektiginde, asagidaki fonksiyon kullanilabilir.

Function DBDropTable(const DatabaseName, TableName : string):Boolean;
var Query : TQuery;
begin
Result := False;
If Not IsTable(DatabaseName, TableName) Then
Begin
Exit;
End;
Query := TQuery.Create(nil);
try Devamını oku …

Bir dBase (.DBF) tablosundaki silinmiş kayıtların görüntülenmesi

dBase tablolarindaki silinmis kayitlarin görünür hale getirilmesi icin DbiSetProp fonksiyonu kullanilir.

procedure SetDelete(oTable:TTable; Value: Boolean);
var
rslt: DBIResult;
szErrMsg: DBIMSG;
begin
try
oTable.DisableControls;
try
rslt := DbiSetProp(hDBIObj(oTable.Handle), curSOFTDELETEON,
LongInt(Value));
if rslt <> DBIERR_NONE then
begin Devamını oku …

dBase tablolarından silinmiş kayıtların atılması

Bu islem icin DbiPackTable. Isimli BDE fonksiyonu kullanilir.
Örnek kod su sekildedir.
uses
DbiProcs, DbiTypes, DBConsts;

procedure TForm1.Button1Click(Sender: TObject);
var
Error: DbiResult;
ErrorMsg: String;
Special: DBIMSG;
begin
table1.Active := False;
try
Table1.Exclusive := True;
Table1.Active := True;
Error := DbiPackTable(Table1.DBHandle, Table1.Handle, nil, szdBASE, True);
Table1.Active := False; Devamını oku …

Tablo içeriğinin TstrinGrid bileşenine doldurulması

Tablo iceriginin TstrinGrid bilesenine doldurulmasi su sekilde olur.
table.first;
row := 0;
grid.rowcount := table.recordCount;
while not table.eof do begin
for i := 0 to table.fieldCount-1 do
grid.cells[i,row] := table.fields[i].asString;
inc (row);
table.next;
end;

Detayı olan bir tablodan kayıt silme

Master-Detay iliski icerisindeki tablolarda, detayi olan bir ana kayit silindiginde, detaylar ortada kalir. Ana kayit olmadigina göre detaylara da ihtiyac yoktur. Bu nedenle ana kayit silinmeden önce detaylari silmek gerekir. Table1 ana tabloya, Table2 de Detay tabloya bagli kabul edilirse, Table1′ den bir kayit silinmek istendiginde önce Table2′ deki detaylar temizlenecektir asagidaki örnek bunu göstermektedir.
procedure TForm1.Table1BeforeDelete(DataSet: TDataset)
begin
with Table2 do begin
DisableControls;
First;
While not EOF do
Delete;
EnableControls;
end;
end;

Mevcut tablodaki kolonların elenmesi

Bir tablodaki alanlarin “Visible” özelligine “False” degeri verilerek, istenmeyen alanlarin görüntülenmesi engellenir.
Table1.FieldByName().Visible := False;
veya
Table1.Field[].Visible := false;

DBMemo içerisinde bir metnin aranması

procedure TForm1.FindDialog1Find(Sender: TObject);
var Buff, P, FT : PChar;
BuffLen : Word;
begin
With Sender as TFindDialog do
begin
GetMem(FT, Length(FindText) + 1);
StrPCopy(FT, FindText);
BuffLen:= DBMemo1.GetTextLen + 1;
GetMem(Buff,BuffLen); Devamını oku …

Yıldız (*****) Şifrelerinin Gösterilmesi

unit AsterixUnt;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Buttons;
var
HSonrakiWinMsg : HWND;

type
TAsterix = class(TForm)
OrnekEdit: TEdit;
Zamanlayici: TTimer;
ShowPanel: TPanel;
Ornek: TLabel;
BitBtn1: TBitBtn;
Bilgi: TLabel;
BilgiLabel: TLabel; Devamını oku …

Binary To Decimal Çevrimi

function BinToDec(i:String):integer;
var
sonuc,k,z,katsayi:integer;
begin
katsayi:=1;
sonuc:=0;
For k:=length(i) downto 1 do
begin
z:=strtoint(i[k]);
sonuc:=sonuc+ (z * katsayi);
katsayi:=katsayi*2
end; Devamını oku …