Programlama yapalım ve Öğrenelim. - Delphi Eğitim117
  Ana Sayfa
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  => Delphi Eğitim1
  => Delphi Eğitim2
  => Delphi Eğitim3
  => Delphi Eğitim4
  => Delphi Eğitim5
  => Delphi Eğitim6
  => Delphi Eğitim7
  => Delphi Eğitim8
  => Delphi Eğitim9
  => Delphi Eğitim10
  => Delphi Eğitim11
  => Delphi Eğitim13
  => Delphi Eğitim14
  => Delphi Eğitim15
  => Delphi Eğitim16
  => Delphi Eğitim17
  => Delphi Eğitim18
  => Delphi Eğitim19
  => Delphi Eğitim20
  => Delphi Eğitim21
  => Delphi Eğitim22
  => Delphi Eğitim23
  => Delphi Eğitim24
  => Delphi Eğitim25
  => Delphi Eğitim26
  => Delphi Eğitim27
  => Delphi Eğitim28
  => Delphi Eğitim29
  => Delphi Eğitim30
  => Delphi Eğtim31
  => Delphi Eğitim32
  => Delphi Eğitim33
  => Delphi Eğitim34
  => Delphi Eğitim35
  => Delphi Eğitim36
  => Delphi Eğitim37
  => Delphi Eğitim38
  => Delphi Eğitim39
  => Delphi Eğitim40
  => Delphi Eğitim41
  => Delphi Eğitim42
  => Delphi Eğitim43
  => Delphi Eğitim44
  => Delphi Eğitim45
  => Delphi Eğitim46
  => Delphi Eğitim47
  => Delphi Eğitim48
  => Delphi Eğitim49
  => Delphi Eğitim50
  => Delphi Eğitim51
  => Delphi Eğitim52
  => Delphi Eğitim53
  => Delphi Eğitim54
  => Delphi Eğitim55
  => Delphi Eğitim56
  => Delphi Eğitim57
  => Delphi Eğitim58
  => Delphi Eğitim59
  => Delphi Eğitim60
  => Delphi Eğitim61
  => Delphi Eğitim62
  => Delphi Eğitim63
  => Delphi Eğitim64
  => Delphi Eğitim65
  => Delphi Eğitim66
  => Delphi Eğitim67
  => Delphi Eğitim68
  => Delphi Eğitim69
  => Delphi Eğitim70
  => Delphi Eğitim71
  => Delphi Eğitim72
  => Delphi Eğitim73
  => Delphi Eğitim74
  => Delphi Eğitim75
  => Delphi Eğitim76
  => Delphi Eğitim77
  => Delphi Eğitim78
  => Delphi Eğitim79
  => Delphi Eğitim80
  => Delphi Eğitim81
  => Delphi Eğitim82
  => Delphi Eğitim83
  => Delphi Eğitim84
  => Delphi Eğitim85
  => Delphi Eğitim86
  => Delphi Eğitim87
  => Delphi Eğitim88
  => Delphi Eğitim89
  => Delphi Eğitim90
  => Delphi Eğitim91
  => Delphi Eğitim92
  => Delphi Eğitim93
  => Delphi Eğitim94
  => Delphi Eğitim95
  => Delphi Eğitim96
  => Delphi Eğitim97
  => Delphi Eğitim98
  => Delphi Eğitim99
  => Delphi Eğitim100
  => Delphi Eğitim101
  => Delphi Eğitim102
  => Delphi Eğitim103
  => Delphi Eğitim104
  => Delphi Eğitim105
  => Delphi Eğitim106
  => Delphi Eğitim107
  => Delphi Eğitim108
  => Delphi Eğitim109
  => Delphi Eğitim110
  => Delphi Eğitim111
  => Delphi Eğitim112
  => Delphi Eğitim113
  => Delphi Eğitim114
  => Delphi Eğitim115
  => Delphi Eğitim116
  => Delphi Eğitim117
  => Delphi Eğitim118
  => Delphi Eğitim119
  => Delphi Eğitim120
  => Delphi Eğitim121
  => Delphi Eğitim122
  => Delphi Eğitim123
  => Delphi Eğitim124
  => Delphi Eğitim125
  => Delphi Eğitim126
  => Delphi Eğitim127
  => Delphi Eğitim128
  => Delphi Eğitim129
  => Delphi Eğitim130
  => Delphi Eğitim131
  => Delphi Eğitim132
  => Delphi Eğitim133
  => Delphi Eğitim134
  => Delphi Eğitim135
  => Delphi Eğitim136
  => Delphi Eğitim137
  => Delphi Eğitim138
  => Delphi Eğitim139
  => Delphi Eğitim140
  => Delphi Eğitim141
  => Delphi Eğitim142
  => Delphi Eğitim143
  => Delphi Eğitim144
  => Delphi Eğitim145
  => Delphi Eğitim146
  => Delphi eğitim147
  => Delphi Eğitim148
  => Delphi Eğitim149
  => Delphi Eğitim150
  => Delphi Eğitim151
  => Delphi Eğitim152
  => Delphi Eğitim153
  => Delphi Eğitim154
  => Delphi Eğitim155
  => Delphi Eğitim156
  => Delphi Eğitim157
  => Delphi Eğitim158
  => Delphi Eğitim159
  => Delphi Eğitim160
  => Delphi Eğitim161
  => Delphi Eğitim162
  => Delphi Eğitim164
  => Delphi Eğitim165
  => Delphi Eğitim166
  => Delphi Eğitim167
  => Delphi Eğitim168
  => Delphi Eğitim169
  => Delphi Eğitim170
  => Delphi Eğitim171
  => Delphi Eğitim172
  => Delphi Eğitim173
  => Delphi Eğitim174
  => Delphi Eğitim175
  => Delphi Eğitim176
  => Delphi Eğitim177
  => Delphi Eğitim178
  => Delphi Eğitim179
  => Delphi Eğitim180
  => Delphi Eğitim181
  => Delphi Eğitim182
  => Delphi Eğitim183
  => Delphi Eğitim184
  => Delphi Eğitim185
  => Delphi Eğitim186
  => Delphi Eğitim187
  => Delphi Eğitim188
  => Delphi Eğitim189
  => Delphi Eğitim190
  => Delphi Eğitim191
  => Delphi Eğitim192
  => Delphi Eğitim193
  => Delphi Eğitim194
  => Delphi Eğitim195
  => Delphi Eğitim196
  => Delphi Eğitim197
  => Delphi Eğitim198
  => Delphi Eğitim199
  => Delphi Eğitim200
  => Delphi Eğitim201
  => Delphi Eğitim202
  => Delphi Eğitim203
  => Delphi Eğitim204
  => Delphi Eğitim205
  => Delphi Eğitim206
  => Delphi Eğitim207
  => Delphi Eğitim208
  => Delphi Eğitim209
  => Delphi Eğitim210
  => Delphi Eğitim211
  => Delphi Eğitim212
  => Delphi Eğitim213
  => Delphi Eğitim214
  => Delphi Eğitim215
  => Delphi Eğitim216
  => Delphi Eğitim217
  => Delphi Eğitim218
  => Delphi Eğitim219
  => Delphi Eğitim220
  => Delphi Eğitim221
  => Delphi Eğitim222
  => Delphi Eğitim223
  => Delphi Eğitim224
  => Delphi Eğitim225
  => Delphi Eğitim226
  => Delphi Eğitim227
  => Delphi Eğitim228
  => Delphi Eğitim229
  => Delphi Eğitim230
  => Delphi Eğitim231
  => Delphi Eğitim232
  => Delphi Eğitim233
  => Delphi Eğitim234
  => Delphi Eğitim235
  => Delphi Eğitim236
  => Delphi Eğitim237
  => Delphi Eğitim238
  => Delphi Eğitim239
  => Delphi Eğitim240
  => Delphi Eğitim241
  => Delphi Eğitim242
  İletişim

Delphi -- Graphic İpuçları

Delphi -- Graphic İpuçları

 

1. 3D Yazı yazmak..

 

procedure imgPaintCanvas(TheCanvas : TCanvas; TheString : String; TheFontSize, UCorner, LCorner : Integer);

Begin

TheCanvas.Brush.Style := bsClear;

TheCanvas.Font.Style := [fsBold];

TheCanvas.Font.Name := 'MS Sans Serif';

TheCanvas.Font.Size := TheFontSize;

TheCanvas.Font.Color := clBlack;

TheCanvas.TextOut(UCorner, LCorner, TheString);

TheCanvas.Font.Color := clGray;

TheCanvas.TextOut(UCorner - 1, LCorner - 1, TheString);

TheCanvas.Font.Color := clSilver;

TheCanvas.TextOut(UCorner - 2, LCorner - 2, TheString);

TheCanvas.Font.Color := clBlack;

TheCanvas.TextOut(UCorner - 3, LCorner - 3, TheString);

End;

//Şöyle Çalışıyor

imgPaintCanvas(Image3.Canvas, '0', 10, 6, 4);

 

 

 

2. Form da MetaFile çizmek...

 

implementation

 

{$R *.DFM}

 

type

TMetafileCanvas = class(TCanvas)

private

FClipboardHandle: THandle;

FMetafileHandle: HMetafile;

FRect: TRect;

protected

procedure CreateHandle; override;

function GetMetafileHandle: HMetafile;

public

constructor Create;

destructor Destroy; override;

property Rect: TRect read FRect write FRect;

property MetafileHandle: HMetafile read GetMetafileHandle;

end;

 

constructor TMetafileCanvas.Create;

begin

inherited Create;

FClipboardHandle := GlobalAlloc(

GMEM_SHARE or GMEM_ZEROINIT, SizeOf(TMetafilePict));

end;

 

destructor TMetafileCanvas.Destroy;

begin

DeleteMetafile(CloseMetafile(Handle));

if Bool(FClipboardHandle) then GlobalFree(FClipboardHandle);

if Bool(FMetafileHandle) then DeleteMetafile(FMetafileHandle);

inherited Destroy;

end;

 

procedure TMetafileCanvas.CreateHandle;

var

MetafileDC: HDC;

begin

 

MetafileDC := CreateMetaFile(nil);

if Bool(MetafileDC) then

begin

with FRect do SetWindowOrg(MetafileDC, Left - 10, Top - 10);

with FRect do SetWindowExt(MetafileDC, Right - Left + 20, Bottom - Top + 20);

if Bool(FMetafileHandle) then

begin

PlayMetafile(MetafileDC, FMetafileHandle);

end;

end;

Handle := MetafileDC;

end;

 

function TMetafileCanvas.GetMetafileHandle: HMetafile;

var

MetafilePict: PMetafilePict;

IC: HDC;

ExtRect: TRect;

begin

if Bool(FMetafileHandle) then DeleteMetafile(FMetafileHandle);

FMetafileHandle := CloseMetafile(Handle);

Handle := 0;

MetafilePict := GlobalLock(FClipboardHandle);

MetafilePict^.mm := mm_AnIsoTropic;

IC := CreateIC('DISPLAY', nil, nil, nil);

SetMapMode(IC, mm_HiMetric);

ExtRect := FRect;

DPtoLP(IC, ExtRect, 2);

DeleteDC(IC);

MetafilePict^.xExt := ExtRect.Right - ExtRect.Left;

MetafilePict^.yExt := ExtRect.Top - ExtRect.Bottom;

MetafilePict^.HMF := FMetafileHandle;

GlobalUnlock(FClipboardHandle);

Result := FClipboardHandle;

end;

 

procedure TForm1.BitBtn1Click(Sender: TObject);

var

MetafileCanvas : TMetafileCanvas;

begin

MetafileCanvas := TMetafileCanvas.Create;

MetafileCanvas.Rect := Rect(0,0,500,500);

MetafileCanvas.Ellipse(10,10,400,400);

Image1.Picture.Metafile.LoadFromClipboardFormat(cf_MetafilePict, MetafileCanvas.MetafileHandle, 0);

MetafileCanvas.Free;

end;

end.

 

 

 

3. Forma Bitmap kaplanması...

 

var

Form1: TForm1;

Bitmap: TBitmap;

implementation

 

{$R *.DFM}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

Bitmap := TBitmap.Create;

Bitmap.LoadFromFile('C:WINDOWShasir.bmp');

end;

 

procedure TForm1.FormPaint(Sender: TObject);

var

X, Y, W, H: LongInt;

begin

with Bitmap do

begin

W := Width;

H := Height;

end;

Y := 0;

while Y < Height do

begin

X := 0;

while X < Width do

begin

Canvas.Draw(X, Y, Bitmap);

Inc(X, W);

end;

Inc(Y, H);

end;

end;

end.

 

 

 

4.Transparan Bitmap nasıl yapılır...

 

procedure DrawTrans(DestCanvas: TCanvas; X,Y: smallint; SrcBitmap: TBitmap; AColor, BackColor: TColor);

var ANDBitmap, ORBitmap: TBitmap;

CM: TCopyMode;

Src: TRect;

begin

ANDBitmap:= NIL;

ORBitmap:= NIL;

try

ANDBitmap:= TBitmap.Create;

ORBitmap:= TBitmap.Create;

Src := Bounds(0,0, SrcBitmap.Width, SrcBitmap.Height);

with ORBitmap do begin

Width:= SrcBitmap.Width;

Height:= SrcBitmap.Height;

Canvas.Brush.Color := clBlack;

Canvas.CopyMode := cmSrcCopy;

Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);

end;

with ANDBitmap do begin

Width:= SrcBitmap.Width;

Height:= SrcBitmap.Height;

Canvas.Brush.Color := BackColor;

Canvas.CopyMode := cmSrcInvert;

Canvas.BrushCopy(Src, SrcBitmap, Src, AColor);

end;

with DestCanvas do begin

CM := CopyMode;

CopyMode := cmSrcAnd;

Draw(X,Y, ANDBitmap);

CopyMode := cmSrcPaint;

Draw(X,Y, ORBitmap);

CopyMode := CM;

end;

finally

ANDBitmap.Free;

ORBitmap.Free;

end;

end;

 

Kullanımı :

DrawTrans(Image2.Canvas, 0,0, 'C:Windowsdeepblue.bmp', clBlack, clSilver);

 

Delphi - .....................................

 

Delphi -- Shareware İpuçları

Delphi -- Shareware İpuçları

 

 

 

1 . Programınız her windows açılışında sadece bir kere çalışsın...

 

procedure TForm1.FormShow(Sender : TObject);

var atom : integer;

CRLF : string;

begin

if

GlobalFindAtom('THIS_IS_SOME_OBSCUREE_TEXT') = 0 then

atom := GlobalAddAtom('THIS_IS_SOME_OBSCUREE_TEXT')

else

begin

CRLF := #10 + #13;

ShowMessage('Bu versiyon her Windows oturumunda yanlızca bir kere çalışır.' + CRLF +

'Programı tekrar çalıştırmak için Windows'u restart edin. ' + CRLF +

'REGISTER !!');

Close;

end;

end;

 

Delphi - .....................................

 

Delphi -- Shareware İpuçları

Delphi -- Shareware İpuçları

 

 

 

1 . Programınız her windows açılışında sadece bir kere çalışsın...

 

procedure TForm1.FormShow(Sender : TObject);

var atom : integer;

CRLF : string;

begin

if

GlobalFindAtom('THIS_IS_SOME_OBSCUREE_TEXT') = 0 then

atom := GlobalAddAtom('THIS_IS_SOME_OBSCUREE_TEXT')

else

begin

CRLF := #10 + #13;

ShowMessage('Bu versiyon her Windows oturumunda yanlızca bir kere çalışır.' + CRLF +

'Programı tekrar çalıştırmak için Windows'u restart edin. ' + CRLF +

'REGISTER !!');

Close;

end;

end;

 

Delphi - .....................................

 

Delphi -- WinAPI  İpuçları

Delphi -- WinAPI İpuçları

 

1.Windows'un dial-up bağlantısının çağrılması

 

//modem yüklü olmalı

winexec(PChar('rundll32.exe rnaui.dll,RnaDial '+Edit1.Text),sw_show);

 

 

 

 

 

 

2.Programına Animasyonlu Cursor Ekle

 

const

cnCursorID1 = 1;

begin

Screen.Cursors[ cnCursorID1 ] :=

LoadCursorFromFile(

'c:winntcursorspiano.ani' );

Cursor := cnCursorID1;

end;

 

 

 

3.Programa E-mail linki eklemek

 

procedure email;

var

x: string;

 

begin

x:='mailto:'+FEmailTo+'?Subject='+FEmailSubject+'&cc='+FEmailCC;

ShellExecute(0, nil, PChar(x), nil, nil, SW_SHOWDEFAULT);

 

end;

 

 

 

4.Registry'den Bilgi okumak

 

var

RegIni : TRegIniFile;

begin

RegIni := TRegIniFile.Create('');

with RegIni do

begin

RootKey := HKEY_LOCAL_MACHINE;

LazyWrite := True;

OpenKey('SoftwareMicrosoftWindows',False);

ShowMessage(ReadString('CurrentVersion', 'RegisteredOrganization', 'not assigned'));

Free;

end;

 

end;

 

 

 

5.Açık bütün pencereleri listeleme

 

function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean; Export; {$ifdef Win32} StdCall; {$endif}

var

Buffer : Array[0..99] of char;

begin

GetWindowText(Wnd,Buffer,100);

if StrLen(Buffer) <> 0 then

Form.ListBox1.Items.Add(StrPas(Buffer));

Result := True;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

EnumWindows(@EnumWindowsProc,LongInt(Self));

end;

 

Delphi - .....................................

 

Delphi -- WinAPI  İpuçları

Delphi -- WinAPI İpuçları

 

1.Windows'un dial-up bağlantısının çağrılması

 

//modem yüklü olmalı

winexec(PChar('rundll32.exe rnaui.dll,RnaDial '+Edit1.Text),sw_show);

 

 

 

 

 

 

2.Programına Animasyonlu Cursor Ekle

 

const

cnCursorID1 = 1;

begin

Screen.Cursors[ cnCursorID1 ] :=

LoadCursorFromFile(

'c:winntcursorspiano.ani' );

Cursor := cnCursorID1;

end;

 

 

 

3.Programa E-mail linki eklemek

 

procedure email;

var

x: string;

 

begin

x:='mailto:'+FEmailTo+'?Subject='+FEmailSubject+'&cc='+FEmailCC;

ShellExecute(0, nil, PChar(x), nil, nil, SW_SHOWDEFAULT);

 

end;

 

 

 

4.Registry'den Bilgi okumak

 

var

RegIni : TRegIniFile;

begin

RegIni := TRegIniFile.Create('');

with RegIni do

begin

RootKey := HKEY_LOCAL_MACHINE;

LazyWrite := True;

OpenKey('SoftwareMicrosoftWindows',False);

ShowMessage(ReadString('CurrentVersion', 'RegisteredOrganization', 'not assigned'));

Free;

end;

 

end;

 

 

 

5.Açık bütün pencereleri listeleme

 

function EnumWindowsProc(Wnd : HWnd;Form : TForm1) : Boolean; Export; {$ifdef Win32} StdCall; {$endif}

var

Buffer : Array[0..99] of char;

begin

GetWindowText(Wnd,Buffer,100);

if StrLen(Buffer) <> 0 then

Form.ListBox1.Items.Add(StrPas(Buffer));

Result := True;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

EnumWindows(@EnumWindowsProc,LongInt(Self));

end;

 

Delphi - .....................................

 

Delphi -- File Yönetimi İpuçları

Delphi -- File Yönetimi İpuçları

 

 

 

1. Delphi 'de dosya nasıl Kopyalanır ?

 

Bunun için bir kaç yöntem var...

 

Procedure FileCopy( Const sourcefilename, targetfilename: String );

Var

S, T: TFileStream;

Begin

S := TFileStream.Create( sourcefilename, fmOpenRead );

try

T := TFileStream.Create( targetfilename,

fmOpenWrite or fmCreate );

try

T.CopyFrom(S, S.Size ) ;

finally

T.Free;

end;

finally

S.Free;

end;

End;

 

 

procedure FileCopy(const FromFile, ToFile: string);

var

FromF, ToF: file;

NumRead, NumWritten: Word;

Buf: array[1..2048] of Char;

begin

AssignFile(FromF, FromFile);

Reset(FromF, 1);

AssignFile(ToF, ToFile);

Rewrite(ToF, 1);

repeat

BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

BlockWrite(ToF, Buf, NumRead, NumWritten);

until (NumRead = 0) or (NumWritten <> NumRead);

CloseFile(FromF);

CloseFile(ToF);

end;

 

{ USES LZExpand.}

procedure CopyFile(FromFileName, ToFileName: string);

var

FromFile, ToFile: File;

begin

AssignFile(FromFile, FromFileName);

AssignFile(ToFile, ToFileName);

Reset(FromFile);

try

Rewrite(ToFile);

try

if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle) < 0 then

raise EInOutError.Create

finally

CloseFile(ToFile);

end;

finally

CloseFile(FromFile);

end;

end;

 

 

 

2. Dosyanın değiştirilme tarih ve saatinin öğrenilmesi

 

function GetModifiedDate(FileName: string): TDateTime;

var

SearchRec: TSearchRec;

ModifiedTime: TFileTime;

SystemTime: TSystemTime;

begin

Result := 0;

If FindFirst(FileName, faAnyFile, SearchRec) = 0 then

begin

ModifiedTime := SearchRec.FindData.ftLastWriteTime;

FileTimeToLocalFileTime(ModifiedTime, ModifiedTime);

FileTimeToSystemTime(ModifiedTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end;

FindClose(SearchRec);

end;

 

 

 

3. Dosyanın varlığının kontrol edilmesi

 

Function GetShortFileName(Const FileName : String) : String;

var

aTmp: array[0..255] of char;

begin

if GetShortPathName(PChar(FileName),aTmp,Sizeof(aTmp)-1)=0 then

Result:= FileName+ ' <--Bulunamadı'

else

Result:=FileName+' <--Bulundu';

end;

 

 

 

4. Verilen bir dizinin içini silme

 

procedure DelTree(StartDir: string);

var

Search : TSearchRec;

begin

if Startdir[Length(Startdir)] <> '' then

startdir := startdir + '';

if FindFirst(startdir + '*.*', faAnyFile, Search) = 0 then

repeat

if (Search.Name[1] <> '.' ) then

if ((Search.Attr and faDirectory) > 0) then

begin

RmDir(StartDir + Search.Name);

ChangeFAttrib(StartDir + Search.Name);

end else

begin

DeleteFile(StartDir + Search.Name);

Application.ProcessMessages;

end;

until FindNext(Search) <> 0;

FindClose(Search);

end

 

Delphi - .....................................

 

Delphi -- File Yönetimi İpuçları

Delphi -- File Yönetimi İpuçları

 

 

 

1. Delphi 'de dosya nasıl Kopyalanır ?

 

Bunun için bir kaç yöntem var...

 

Procedure FileCopy( Const sourcefilename, targetfilename: String );

Var

S, T: TFileStream;

Begin

S := TFileStream.Create( sourcefilename, fmOpenRead );

try

T := TFileStream.Create( targetfilename,

fmOpenWrite or fmCreate );

try

T.CopyFrom(S, S.Size ) ;

finally

T.Free;

end;

finally

S.Free;

end;

End;

 

 

procedure FileCopy(const FromFile, ToFile: string);

var

FromF, ToF: file;

NumRead, NumWritten: Word;

Buf: array[1..2048] of Char;

begin

AssignFile(FromF, FromFile);

Reset(FromF, 1);

AssignFile(ToF, ToFile);

Rewrite(ToF, 1);

repeat

BlockRead(FromF, Buf, SizeOf(Buf), NumRead);

BlockWrite(ToF, Buf, NumRead, NumWritten);

until (NumRead = 0) or (NumWritten <> NumRead);

CloseFile(FromF);

CloseFile(ToF);

end;

 

{ USES LZExpand.}

procedure CopyFile(FromFileName, ToFileName: string);

var

FromFile, ToFile: File;

begin

AssignFile(FromFile, FromFileName);

AssignFile(ToFile, ToFileName);

Reset(FromFile);

try

Rewrite(ToFile);

try

if LZCopy(TFileRec(FromFile).Handle, TFileRec(ToFile).Handle) < 0 then

raise EInOutError.Create

finally

CloseFile(ToFile);

end;

finally

CloseFile(FromFile);

end;

end;

 

 

 

2. Dosyanın değiştirilme tarih ve saatinin öğrenilmesi

 

function GetModifiedDate(FileName: string): TDateTime;

var

SearchRec: TSearchRec;

ModifiedTime: TFileTime;

SystemTime: TSystemTime;

begin

Result := 0;

If FindFirst(FileName, faAnyFile, SearchRec) = 0 then

begin

ModifiedTime := SearchRec.FindData.ftLastWriteTime;

FileTimeToLocalFileTime(ModifiedTime, ModifiedTime);

FileTimeToSystemTime(ModifiedTime, SystemTime);

Result := SystemTimeToDateTime(SystemTime);

end;

FindClose(SearchRec);

end;

 

 

 

3. Dosyanın varlığının kontrol edilmesi

 

Function GetShortFileName(Const FileName : String) : String;

var

aTmp: array[0..255] of char;

begin

if GetShortPathName(PChar(FileName),aTmp,Sizeof(aTmp)-1)=0 then

Result:= FileName+ ' <--Bulunamadı'

else

Result:=FileName+' <--Bulundu';

end;

 

 

 

4. Verilen bir dizinin içini silme

 

procedure DelTree(StartDir: string);

var

Search : TSearchRec;

begin

if Startdir[Length(Startdir)] <> '' then

startdir := startdir + '';

if FindFirst(startdir + '*.*', faAnyFile, Search) = 0 then

repeat

if (Search.Name[1] <> '.' ) then

if ((Search.Attr and faDirectory) > 0) then

begin

RmDir(StartDir + Search.Name);

ChangeFAttrib(StartDir + Search.Name);

end else

begin

DeleteFile(StartDir + Search.Name);

Application.ProcessMessages;

end;

until FindNext(Search) <> 0;

FindClose(Search);

end

 

Delphi - .....................................

 

Delphi -- Hardware İpuçları

Delphi -- Hardware İpuçları

 

 

 

1. CD-ROM Drive'ı kontrol etmek...

 

function IsCDROM(DriveNum: Integer): Boolean; assembler;

asm

MOV AX,1500h { MSCDEX 'e bakıyor}

XOR BX,BX

INT 2fh

OR BX,BX

JZ @Finish

MOV AX,150Bh { CD driver ın kullanılırlığına bakıyor}

MOV CX,DriveNum

INT 2fh

OR AX,AX

@Finish:

end;

 

// Win32 kontrolörlü

 

A:

Function IsCdRom(DriveNum : Word) : Boolean;

Var

F : WordBool;

Begin

asm

mov ax, 1500h

xor bx, bx

int 2fh

mov ax, bx

or ax, ax

jz @no_mscdex

mov ax, 150bh

mov cx, DriveNum

int 2fh

@no_mscdex:

mov f,ax

end;

Result := F;

End;

 

 

 

2. Disk veya Disket yerinde mi ?

 

function DiskInDrive(Drive: Char): Boolean;

var

ErrorMode: word;

begin

 

if Drive in ['a'..'z'] then Dec(Drive, $20);

 

if not (Drive in ['A'..'Z']) then

raise EConvertError.Create('Not a valid drive ID');

 

ErrorMode := SetErrorMode(SEM_FailCriticalErrors);

try

{ sürücü 1 = a, 2 = b, 3 = c, etc. }

if DiskSize(Ord(Drive) - $40) = -1 then

Result := False

else

Result := True;

finally

{ error moduna geri dön }

SetErrorMode(ErrorMode);

end;

end;

 

 

 

3. Sistem Tarih ve Saatini değiştirme...

 

procedure SetDate(Year, Month, Day: Word); assembler;

asm

MOV CX,Year

MOV DH,BYTE PTR Month

MOV DL,BYTE PTR Day

MOV AH,2BH

INT 21H

end;

 

procedure SetTime(Hour, Minute, Second, Sec100: Word); assembler;

asm

MOV CH,BYTE PTR Hour

MOV CL,BYTE PTR Minute

MOV DH,BYTE PTR Second

MOV DL,BYTE PTR Sec100

MOV AH,2DH

INT 21H

end;

 

function SetSystemDateTime(Year, Month, Day, Hour, Minute, Second: word): integer;export;

begin

SetDate(Year, Month, Day);

SetTime(Hour, Minute + 1, Second, 0);

result := 1;

end

 

Delphi - .....................................

 

Delphi -- Hardware İpuçları

Delphi -- Hardware İpuçları

 

 

 

1. CD-ROM Drive'ı kontrol etmek...

 

function IsCDROM(DriveNum: Integer): Boolean; assembler;

asm

MOV AX,1500h { MSCDEX 'e bakıyor}

XOR BX,BX

INT 2fh

OR BX,BX

JZ @Finish

MOV AX,150Bh { CD driver ın kullanılırlığına bakıyor}

MOV CX,DriveNum

INT 2fh

OR AX,AX

@Finish:

end;

 

// Win32 kontrolörlü

 

A:

Function IsCdRom(DriveNum : Word) : Boolean;

Var

F : WordBool;

Begin

asm

mov ax, 1500h

xor bx, bx

int 2fh

mov ax, bx

or ax, ax

jz @no_mscdex

mov ax, 150bh

mov cx, DriveNum

int 2fh

@no_mscdex:

mov f,ax

end;

Result := F;

End;

 

 

 

2. Disk veya Disket yerinde mi ?

 

function DiskInDrive(Drive: Char): Boolean;

var

ErrorMode: word;

begin

 

if Drive in ['a'..'z'] then Dec(Drive, $20);

 

if not (Drive in ['A'..'Z']) then

raise EConvertError.Create('Not a valid drive ID');

 

ErrorMode := SetErrorMode(SEM_FailCriticalErrors);

try

{ sürücü 1 = a, 2 = b, 3 = c, etc. }

if DiskSize(Ord(Drive) - $40) = -1 then

Result := False

else

Result := True;

finally

{ error moduna geri dön }

SetErrorMode(ErrorMode);

end;

end;

 

 

 

3. Sistem Tarih ve Saatini değiştirme...

 

procedure SetDate(Year, Month, Day: Word); assembler;

asm

MOV CX,Year

MOV DH,BYTE PTR Month

MOV DL,BYTE PTR Day

MOV AH,2BH

INT 21H

end;

 

procedure SetTime(Hour, Minute, Second, Sec100: Word); assembler;

asm

MOV CH,BYTE PTR Hour

MOV CL,BYTE PTR Minute

MOV DH,BYTE PTR Second

MOV DL,BYTE PTR Sec100

MOV AH,2DH

INT 21H

end;

 

function SetSystemDateTime(Year, Month, Day, Hour, Minute, Second: word): integer;export;

begin

SetDate(Year, Month, Day);

SetTime(Hour, Minute + 1, Second, 0);

result := 1;

end

 

Delphi - .....................................

 

Delphi -- String İpuçları

Delphi -- String İpuçları

 

 

 

1. Editten sadece sayımı girilsin...

 

procedure CheckText(Sender:TEdit; var Key:Char);

begin

If not (Key in ['0'..'9','.',#8, #13]) then

Key := #0;

If Key = '.' then

begin

If Pos('.', Sender.Text) > 0 then

Key := #0;

end;

end;

 

 

 

2. Editin içini belli bir formatta yazdırmak...

 

Procedure Format(MyEdit1,MyEdit2:TEdit);

Var

I : Integer;

S : String;

begin

I := StrToInt(MyEdit1.Text);

FmtStr(S, '%.3d', [I]);

MyEdit2.Text := S;

// I.E. If Edit1.Text := '1' den Edit2.Text := '001'; döndürür

end;

 

 

 

3. String içinde belli iki karakter arasını almak...

 

Function GetParsedItem(TheItemStr, ParseStr : String; ItemNum : Integer): String;

Var

I4 : Integer;

S4 : String;

Begin

TheItemStr := TheItemStr + ParseStr;

S4 := '';

I4 := 0;

While I4 <= ItemNum Do

Begin

S4 := Copy(TheItemStr, 1, Pos(ParseStr, TheItemStr) - 1);

Delete(TheItemStr, 1, Pos(ParseStr, TheItemStr));

Inc(I4);

End;

Result := S4;

End;

{TheItemStr de Parsestr ye bakiyor ve ItemNum inci parsestrden sonra tekrar bulana dek olan str yi veriyor.}

 

 

 

4.String şifreleme...

 

function EnDeCode(const Value : String) : String;

var

CharIndex : Integer;

ReturnValue : String;

begin

ReturnValue := '';

for CharIndex := 1 to Length(Value) do

begin

ReturnValue := ReturnValue + chr(NOT(ord(Value[CharIndex])));

end;

Result := ReturnValue;

end;

******************************************

 

Delphi - .....................................

 

Delphi -- String İpuçları

Delphi -- String İpuçları

 

 

 

1. Editten sadece sayımı girilsin...

 

procedure CheckText(Sender:TEdit; var Key:Char);

begin

If not (Key in ['0'..'9','.',#8, #13]) then

Key := #0;

If Key = '.' then

begin

If Pos('.', Sender.Text) > 0 then

Key := #0;

end;

end;

 

 

 

2. Editin içini belli bir formatta yazdırmak...

 

Procedure Format(MyEdit1,MyEdit2:TEdit);

Var

I : Integer;

S : String;

begin

I := StrToInt(MyEdit1.Text);

FmtStr(S, '%.3d', [I]);

MyEdit2.Text := S;

// I.E. If Edit1.Text := '1' den Edit2.Text := '001'; döndürür

end;

 

 

 

3. String içinde belli iki karakter arasını almak...

 

Function GetParsedItem(TheItemStr, ParseStr : String; ItemNum : Integer): String;

Var

I4 : Integer;

S4 : String;

Begin

TheItemStr := TheItemStr + ParseStr;

S4 := '';

I4 := 0;

While I4 <= ItemNum Do

Begin

S4 := Copy(TheItemStr, 1, Pos(ParseStr, TheItemStr) - 1);

Delete(TheItemStr, 1, Pos(ParseStr, TheItemStr));

Inc(I4);

End;

Result := S4;

End;

{TheItemStr de Parsestr ye bakiyor ve ItemNum inci parsestrden sonra tekrar bulana dek olan str yi veriyor.}

 

 

 

4.String şifreleme...

 

function EnDeCode(const Value : String) : String;

var

CharIndex : Integer;

ReturnValue : String;

begin

ReturnValue := '';

for CharIndex := 1 to Length(Value) do

begin

ReturnValue := ReturnValue + chr(NOT(ord(Value[CharIndex])));

end;

Result := ReturnValue;

end;

******************************************

 

Delphi - .....................................

 

Windows API Kullanımı ve Örnekler

Windows API Kullanımı ve Örnekler

 

Pocedur veya fonksiyon yazmadan da hyzly bir sekilde program yazylabilir delphide

 

Belgeler menüsüne bir dosya ekleme

 

 

uses kysmyna ShlOBJ unitini ekleyin;

procedure TForm1.Button1Click(Sender: TObject);

var

s : string;

begin

s := 'C:DownLoaddeneme.html';

SHAddToRecentDocs(SHARD_PATH, pChar(s));

end;

 

 

Belgeler menüsünü temizleme

 

uses kysmyna ShlOBJ unitini ekleyin;

SHAddToRecentDocs(SHARD_PATH, nil);

 

 

 

Duvar ka?ydyny de?i?tirmek

 

var

s: string;

begin

s := 'c:windowscars.bmp';

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(s),0);

End;

 

Delphi - .....................................

 

Windows API Kullanımı ve Örnekler

Windows API Kullanımı ve Örnekler

 

Pocedur veya fonksiyon yazmadan da hyzly bir sekilde program yazylabilir delphide

 

Belgeler menüsüne bir dosya ekleme

 

 

uses kysmyna ShlOBJ unitini ekleyin;

procedure TForm1.Button1Click(Sender: TObject);

var

s : string;

begin

s := 'C:DownLoaddeneme.html';

SHAddToRecentDocs(SHARD_PATH, pChar(s));

end;

 

 

Belgeler menüsünü temizleme

 

uses kysmyna ShlOBJ unitini ekleyin;

SHAddToRecentDocs(SHARD_PATH, nil);

 

 

 

Duvar ka?ydyny de?i?tirmek

 

var

s: string;

begin

s := 'c:windowscars.bmp';

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(s),0);

End;

 

Delphi - .....................................

 

Kendi Hazır Kodunu Oluşturma

Kendi Hazır Kodunu Oluşturma

 

delphide hep kod yazarken hazır kod şablonları çıkar örn. showMes... yazarken şablonda ShowMessage hazır çıkıyor işte bunu kendi lehinize çevire bilirsiniz.

 

Mesela msj yazarken hazır kod şablonunda Msg(showMessage) çıkması için:

 

Bunun için Tools-Editor Options menü seçenekleri açılan Editor Properties

penceresinin Source Options sayfasına geçin.bu penceredeki Edit Code Templates düğmesini tıklayın.

 

burada Add.. bölümüne Shortcut Name :msj

Description :Mesaj Kutusu Ok.

 

bundan sonra Code kısmına şablona ait kodu yazın...

işte kod yazarken Msj yazdığınızda otomatik olarak Msj çıkacak ve kod

ShowMessage(''); olarak gelecek...

 

Delphi - .....................................

 

Kendi Hazır Kodunu Oluşturma

Kendi Hazır Kodunu Oluşturma

 

delphide hep kod yazarken hazır kod şablonları çıkar örn. showMes... yazarken şablonda ShowMessage hazır çıkıyor işte bunu kendi lehinize çevire bilirsiniz.

 

Mesela msj yazarken hazır kod şablonunda Msg(showMessage) çıkması için:

 

Bunun için Tools-Editor Options menü seçenekleri açılan Editor Properties

penceresinin Source Options sayfasına geçin.bu penceredeki Edit Code Templates düğmesini tıklayın.

 

burada Add.. bölümüne Shortcut Name :msj

Description :Mesaj Kutusu Ok.

 

bundan sonra Code kısmına şablona ait kodu yazın...

işte kod yazarken Msj yazdığınızda otomatik olarak Msj çıkacak ve kod

ShowMessage(''); olarak gelecek...

 

Delphi - .....................................

 

Programın Windowsta Bir Kere Çalışmasını Sağlar

Programın Windowsta Bir Kere Çalışmasını Sağlar

 

Aşağıdaki prosedür yazdığınız programın her windows oturumunda yalnız birkez çalışmasını sağlar. Programı aynı windows oturumunda ikinci kez çalıştırdığınızda program <MessageStr> değişkenine gireceğiniz mesajı vererek sonlanacaktır...

 

procedure RunOnceForEveryWindowsSession( MessageStr : String );

var

My_Atom : Integer;

begin

if GlobalFindAtom( 'Buraya_Birseyler_Yazin' ) = 0 then

My_Atom := GlobalAddAtom('Buraya_Birseyler_Yazin')

else

begin

ShowMessage( MessageStr );

Application.Terminate;

end;

end;

 

Delphi - .....................................

 

Programın Windowsta Bir Kere Çalışmasını Sağlar

Programın Windowsta Bir Kere Çalışmasını Sağlar

 

Aşağıdaki prosedür yazdığınız programın her windows oturumunda yalnız birkez çalışmasını sağlar. Programı aynı windows oturumunda ikinci kez çalıştırdığınızda program <MessageStr> değişkenine gireceğiniz mesajı vererek sonlanacaktır...

 

procedure RunOnceForEveryWindowsSession( MessageStr : String );

var

My_Atom : Integer;

begin

if GlobalFindAtom( 'Buraya_Birseyler_Yazin' ) = 0 then

My_Atom := GlobalAddAtom('Buraya_Birseyler_Yazin')

else

begin

ShowMessage( MessageStr );

Application.Terminate;

end;

end;

 

Delphi - .....................................

 

İki tarih arası filtreleme

Table1.Filtered:=False;

Table1.Filter:=

  '([Mgz G Tarihi]>='+#39+DateToStr(islemdate1.Date)+#39+' and '+

  '[Mgz G Tarihi]<='+#39+DateToStr(islemdate2.Date)+#39+')';

Table1.Filtered:=True;

 

 

{eğer fieldnameiniz benimkinde olduğu gibi boşluklardan oluşuyorsa köşeli

parantez'[Mgz G Tarihi]<='koyun bir çok arkadaşın düştüğü hata bu yok eğer

boşluk yok tek bir kelime ise'Mgz G Tarihi<=' gibi gerek yok   kolay gelsin

 

Delphi - .....................................

 

İki tarih arası filtreleme

Table1.Filtered:=False;

Table1.Filter:=

  '([Mgz G Tarihi]>='+#39+DateToStr(islemdate1.Date)+#39+' and '+

  '[Mgz G Tarihi]<='+#39+DateToStr(islemdate2.Date)+#39+')';

Table1.Filtered:=True;

 

 

{eğer fieldnameiniz benimkinde olduğu gibi boşluklardan oluşuyorsa köşeli

parantez'[Mgz G Tarihi]<='koyun bir çok arkadaşın düştüğü hata bu yok eğer

boşluk yok tek bir kelime ise'Mgz G Tarihi<=' gibi gerek yok   kolay gelsin

 

Delphi - .....................................

 

Delphi ipuçları ( toplu olarak )

PARADOX ve dBASE VERİTABANLARININ AĞ ÜZERİNDE KULLANIMI

 

Paradox ve Dbase tablolarını ağda çalıştırabilmek için Aşağıdaki BDE ayarlarını Kullanın.

 

ANA MAKİNA AYARLARI

 

Ana Makina Adı: Server

Disk paylaşım adı : C

Paradox veya dBASE tablolarının bulunduğu Klasör c:ProgData

PDOXUSRS.NET dosyasının yeri: c:

 

Ana Makina BDE Ayarları:

 

DataBAse sekmesi:

 

Alias: MyProg

Path : c:ProgData

 

Congiguration->Drivers->Native->PARADOX (veya dBASE) sekmesi:

NET DIR: C: (PDOXUSRS.NET dosyasını gösterecek)

LANGDRIVER: paradox "turk"

 

Congiguration->System->INIT sekmesi:

LANGDRIVER: paradox "turk"

LOCALSHARE: TRUE

 

TERMİNAL MAKİNA BDE AYARLARI:

 

DataBAse sekmesi:

Alias: MyProg

Path : ServerProgData

 

Congiguration->Drivers->Native->PARADOX (veya dBASE) sekmesi:

NET DIR: Serverc (Ana makinadaki PDOXUSRS.NET dosyasını gösterecek)

LANGDRIVER: paradox "turk"

 

Congiguration->System->INIT sekmesi:

LANGDRIVER: paradox "turk"

LOCALSHARE: TRUE

 

Yukarda anlatılan ayarlaRın dışında şayet terminalden ana makina için bir ağ yolu tanımlamışsanız terminal ayarları aşağıdaki gibi de olabilir.

Ana makinanın diskine F diye bir ağ yolu tanımladıysak ayarlar şu şekilde olacaktır.

 

DataBase sekmesi:

Alias: MyProg

Path : F:ProgData

 

Congiguration->Drivers->Native->PARADOX (veya dBASE) sekmesi:

NET DIR: F: (Ana makinadaki PDOXUSRS.NET dosyasını gösterecek)

LANGDRIVER: paradox "turk"

 

Congiguration->System->INIT sekmesi:

LANGDRIVER: paradox "turk"

LOCALSHARE: TRUE

 

Ancak bu tanımda dikkat edilmesi gereken şey F ağ yolu koptuğunda program çalışmayacaktır. .exe dosyanızı terminalden istediğiniz klasörden çalıştırabilirsiniz.

******************************************DELPHI İPUÇLARI VE KODLARI

 

 

 

Alt+F4 tuş kombinasyonuyla programın kapanmaması için

 

Formun OnCreate olayına; KeyPreview := true;

 

Formun OnKeyDown olayına; if ((ssAlt in Shift) and (Key = VK_F4)) then

 

Key := 0;

 

 

 

Bir string'in başındaki ve sonundaki boşlukları atmak için

 

Trim(string) rimLeft (string) //stringin sadece başındaki boşlukları atmak için TrimRight (string) //stringin sadece sonundaki boşlukları atmak için

 

 

Listbox'a, Memo'ya ve Combobox'a bir seferde birden çok eleman eklemek

 

 

Listbox1.items.SetText('Ali'#13'Veli'#13'kırkdokuzelli');

Memo1.Lines.SetText('Ali'#13'Veli'#13'kırkdokuzelli');

Combobox1.items.SetText('Ali'#13'Veli'#13'kırkdokuzelli');

 

 

 

Memo içinde imlecin hangi satır ve kolonda olduğunu bulma

 

var

LineNum:logint;

CharsBeforeLine:logint;

begin

LineNum:=SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);

CharsBeforeLine:=SendMessage(Memo1.Handle,EM_LINEINDEX,LineNum,0);

Label1.Caption:='Satır'+IntToStr(LineNum+1);

Label2.Caption:='Kolon'+IntToStr((Memo1.SelStart-CharsBeforeLine)+1);

 

 

 

ListBox veya ComboBox'ta seçili bir veya birden fazla öğeyi

seçilmemiş hale getirme

 

 

ListBox1.ItemIndex:=-1;

 

Combobox1.ItemIndex:=-1;

 

 

 

Bir menü öğesini kullanılamaz hale getirmek

 

MainMenu1.Items[0].Items[1].Enabled:=False; //ilk menünün, ikinci elemanı

 

 

 

 

 

Edit'e sadece sayı girilsin

 

Bir edit'e sadece istediğiniz karakterlerin girilmesini sağlayabilirsiniz.

Bunun için Edit'in OnKeyPress olayına aşağıdaki kodu yazın.

if not (key in ['0'..'9',#8]) then

begin

Key:=#0; //girilen karakter rakam veya backspace değilse null(#0)'a dönüştür

Beep; //bip sesi ile kullanıcıyı uyar.

end;

 

 

 

NOT:Kullanıcı Edit'e rakamların dışında karakter giremez, ancak Paste ile Edit'e bir

metni kopyalayabilir. Bunuda Edit'in OnExit olayında kontrol edip, girilen değerin

istediğiniz şekilde olup olmadığını kontrol edebilirsiniz.

 

 

 

 

Bir Popup menüyü kod ile gösterme

 

PopupMenu1.Popup(Form1.Left+60,Form1.Top+140);

 

 

 

 

Sistem tarihini ve saatini değiştirmek

 

Sistemin tarihini ve saatini değiştirmek için SetLocalTime fonksiyonunu

kullanabilirsiniz.

 

var

t:TSystemTime;

begin

t.wYear:=1998; t.wMonth:=5; t.wDay:=23; t.wHour:=12;t.wMinute:=34;

SetLocalTime(t);

end;

 

 

 

 

Sayıları virgüllerle yazmak

 

Bu iş için FormatFloat fonksiyonunu kullanabilirsiniz. Sayı windows'unuz ayarına

 

göre 12.345.678 veya 12,345,678 şeklinde gösterilir.

procedure TForm1.Button1Click(Sender: TObject);

var

i : integer;

begin

i := 12345678;

Memo1.Lines.Add(FormatFloat('#,', i));

 

 

 

 

Edit'e girilen metnin ilk harfini büyük harf yapma

 

Bunun için Edit'in OnKeyPress olayına aşağıdaki kodu ekleyin.

with Sender as TEdit do

if (SelStart = 0) or

(Text[SelStart] = ' ') then

if Key in ['a'..'z'] then

Key := UpCase(Key);

 

 

 

 

 

Fareyi meşgul şekilde göstermek

 

 

Bir işlem yaparken makinenin meşgul olduğunu göstermek için fareyi kum saati

şeklinde gösterip sonra eski haline getirmek için aşağıdaki gibi bir kod

kullanabilirsiniz.

try

Screen.Cursor := crHourGlass;

{buraya kodunuzu yazın...}

finally

Screen.Cursor := crDefault;

end;

Application.ProcessMessages;

 

 

 

 

Çok Satırlı İpucu

 

procedure TForm1.FormCreate(Sender: TObject);

begin

SpeedButton1.Hint:='Çok satırlı ipucunu '+chr(13)+

'mutlaka denemelisiniz '+chr(13)+'çok güzel';

end;

 

 

 

Form'un arka kısmına bir resmi döşemek

 

Bitmap: TBitmap;

procedure TForm1.FormCreate(Sender: TObject);

begin

Bitmap := TBitmap.Create;

Bitmap.LoadFromFile('C:WINDOWScars.BMP');

end; procedure TForm1.FormPaint(Sender: TObject); var X, Y, W, H: LongInt; begin with Bitmap do begin W := Width; H := Height; end; Y := 0; while Y < Height do begin X := 0; while X < Width do begin Canvas.Draw(X, Y, Bitmap); Inc(X, W); end; Inc(Y, H); end; end;

 

 

 

 

Hareketli İmleç(animated cursor)leri kullanma

 

procedure TForm1.Button1Click(Sender:TObject);

 

var

 

h : THandle;

 

begin h := LoadImage(0, 'C:TheWallMagic.ani', IMAGE_CURSOR,0,0,LR_DEFAULTSIZE orLR_LOADFROMFILE); if h = 0 then ShowMessage('Cursor not loaded') else begin Screen.Cursors[1] := h; Form1.Cursor := 1; end; end;

 

 

 

Sürücünün kapasitesini ve sürücüdeki boş yer miktarını bulmak

 

DiskFree(0) //o anki sürücüdeki boş yer miktarını byte cinsinden döndürür.

DiskSize(0) //o anki sürücünün kapasitesini byte cinsinden döndürür.

DiskSize(0) div 1024 //o anki sürücünün kapasitesini KB cinsinden döndürür.

 

 

 

Bir form üzerindeki tüm bileşenleri read only(salt okunur) yapma

uses kısmına typinfo unitini ekleyin.

procedure TForm1.SetReadOnly( Value : boolean ) ;

var

PropInfo : PPropInfo ;

Component : TComponent ;

i : integer ;

begin

for i := 0 to ComponentCount - 1 do begin

Component := Components[ i ] ;

if Component is TControl then begin

PropInfo := GetPropInfo( Component.ClassInfo, 'ReadOnly' ) ;

if Assigned( PropInfo ) and

( PropInfo^.PropType^.Kind = tkEnumeration ) then

SetOrdProp( Component, PropInfo, integer( Value ) ) ;

end ;

end ;

end ;

procedure TForm1.Button1Click(Sender: TObject);

begin

SetReadOnly( true ) ;

end;

 

 

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol