Alt+F4 tuş kombinasyonuyla programın
kapanmaması için
Formun KeyPreview özelliğini True yapın, daha sonra formun OnKeyDown olayına aşağıdaki kodu yazın.
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) TrimLeft (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');
II. Yol : Mustafa Kılınç tarafından gönderilmiştir.
procedure TForm1.Button1Click(Sender: TObject);
var
gelen : TStringList;
begin
gelen := TStringList.Create;
gelen.sorted := True;
gelen.Duplicates := dupIgnore;
gelen.Add('evli');
gelen.Add('bekar');
gelen.Add('Dul');
ComboBox1.Items.Assign(gelen);
gelen.free;
end;
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ı
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;
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:\WINDOWS\cars.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:\Magic.ani', IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE or LR_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;
Değişik şekilde bir edit elde etmek için formun OnCreate olayına aşağıdaki kodu yazın.
SetWindowRgn( Edit1.handle,
CreateRoundRectRgn(2, 2, Edit1.Width-2, Edit1.Height-2, 15, 15),
True);
Bir klasörün boyutunu
öğrenmek
Bir klasördeki dosyaların kaç byte yer kapladığını öğrenmek için
function TForm1.GetDirectorySize(const ADirectory:
string): Integer;
var
Dir: TSearchRec;
Ret: integer;
Path: string;
begin
Result := 0;
Path := ExtractFilePath(ADirectory);
Ret := Sysutils.FindFirst(ADirectory, faAnyFile, Dir);
if Ret <> NO_ERROR then
exit;
try
while ret=NO_ERROR do
begin
inc(Result, Dir.Size);
if (Dir.Attr in [faDirectory]) and (Dir.Name[1] <> '.') then
Inc(Result, GetDirectorySize(Path + Dir.Name + '\*.*'));
Ret := Sysutils.FindNext(Dir);
end;
finally
Sysutils.FindClose(Dir);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Showmessage(intToStr(getdirectorysize('C:\windows')));
end;
Bir dosyanın
özelliklerini gösterme
procedure TForm1.Button1Click(Sender: TObject);
var
sei : TShellExecuteInfo;
begin
FillChar(sei,SizeOf(sei),#0);
sei.cbSize:=SizeOf(sei);
sei.lpFile:=PChar('c:\windows\notepad.exe');
sei.lpVerb:='properties';
sei.fMask:=SEE_MASK_INVOKEIDLIST;
ShellExecuteEx(@sei);
end;
Programım hangi klasörde
çalışıyor
procedure TForm1.Button1Click(Sender: TObject);
var
path: string;
begin
Path := ExtractFilePath(ParamStr(0));
Showmessage (path);
end;
II.Yol : Mustafa Kılınç tarafından gönderilmiştir.
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlg('Programınız ' +ExtractFilePath( Application.ExeName ) +
'klasöründe çalışıyor. ',
mtInformation, [mbOk], 0 );
end;
Bir dosyayı geri dönüşüm
kutusuna (recyle bin) atmak
uses kısmına shellapi unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
T : TSHFileOpStruct;
begin
FillChar(T,SizeOf(TSHFileOpStruct),#0);
with T do
begin
Wnd:=0;
wFunc:=FO_DELETE;
pFrom:=Pchar('c:\test\2.avi');
fFlags:=FOF_ALLOWUNDO;
end;
SHFileOperation(T);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
srFileSR: TSearchRec;
sFileName, sFileSize: string;
begin
sFileName := 'c:\test\2.avi';
FindFirst(sFileName,faAnyFile,srFileSR);
sFileSize := IntToStr(srFileSR.Size);
Showmessage(sFileSize);
end;
Bmp dosyasını JPEG'e
dönüştürme
uses kısmına jpeg unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
MyJPEG : TJPEGImage;
MyBMP : TBitmap;
begin
MyBMP := TBitmap.Create;
with MyBMP do
try
LoadFromFile('c:\winnt\cars.bmp');
MyJPEG := TJPEGImage.Create;
with MyJPEG do begin
Assign(MyBMP);
SaveToFile('c:\winnt\cars.JPEG');
Free;
end;
finally
Free;
end;
end;
24.499999 gibi bir sayıyı 24.5'e aşağıdaki kodla yuvarlayabilirsiniz.
procedure TForm1.Button1Click(Sender: TObject);
var
getal : real ;
AfgerondGetal :real;
begin
Getal:=24.499999;
AfgerondGetal:=round(Getal*100)/100;
Edit1.Text:=floattostr(AfgerondGetal);
end;
{Bu kod Mustafa Kılınç tarafından gönderilmiştir}
Bir
dosya yolunun (path) sonundaki \ karakterini silme
Bunun için
ExcludeTrailingPathDelimiter fonksiyonunu kullanabilirsiniz. Örneğin:
ShowMessage(ExcludeTrailingPathDelimiter(DirPath));
Dosya
yolunun sonunda mutlaka \ karakteri bulunsun
Bunun için
IncludeTrailingPathDelimiter fonksiyonunu kullanabilirsiniz. Örneğin:
ShowMessage(IncludeTrailingPathDelimiter(DirPath));
İçinde
bulunduğumuz ayın son gününü nasıl bulurum
function LastDayCurrMon: TDate;
var
y, m, d: word;
begin
decodedate(now, y, m, d);
m := m + 1;
if m > 12 then
begin
y := y + 1;
m := 1;
end;
result := encodedate(y, m, 1) - 1;
end;
Escape
tuşuna bastığımda form kapansın
Formun KeyPreview özelliğini True yapın. Daha sonra OnKeyPress olayına aşağıdaki kodu yazın.
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then
Close;
end;
Internetten
dosya indirme (download)
uses kısmına ShellApi ve UrlMon unitlerini ekleyin.
function DownLoadInternetFile(Source, Dest :
String): Boolean;
begin
try
Result :=
URLDownloadToFile(nil,PChar(Source),PChar(Dest),0,nil) = 0
except
Result := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
SourceString, DestinationString: string;
begin
SourceString := 'http://www.tcmb.gov.tr/kurlar/today.html';
DestinationString := 'c:\bugun.html';
if DownLoadInternetFile(SourceString, DestinationString) then
ShellExecute(Application.Handle, PChar('Open'), PChar(DestinationString),
PChar(''), nil, SW_NORMAL)
else
MessageDlg('Dosya indirilemedi!', mtError, [mbOK], 0);
end;
Environment
Variable'ları bulma
Environment variable bilgisayardan bilgisayara değişen bazı klasör ve değişkenlere verilen isim. Mesela Belgelerim klasörü gibi. Bu klasörü bir bilgisayarda c:\Belgelerim iken diğerinde c:\Mustafa\Belgelerim olabilir. Bunların tam listesini komut satırından SET komutunu vererek öğrenebilirsiniz. Bu değişkenlerden bazıları : Windows klasörü, Bilgisayar ismi, Domain ismi, Kullanıcı ismi, işlemci bilgileri...
ShowMessage(GetEnvironmentVariable('Temp'));
Satır
ekledikçe RichEdit aşağı doğru kaysın
RichEdit1.Lines.Add('New text');
RichEdit1.Perform(EM_SCROLL, SB_LINEDOWN, 0);
Integer'dan
binary string'e çevirme
function IntToBinStr(num: integer): string;
var
i: integer;
begin
for i := 0 to 31 do
Result := IntToStr((num shr i) and 1) + Result;
end;
Kullanılan
fare'nin ortasında döndürme tekerleği var mı?
Bunu öğrenmek için mouse global nesnesini kullanabilirsiniz.
if Mouse.WheelPresent then
ShowMessage('tekerlek var');
Delphi'nin
çalışıp, çalışmadığını test etme
Bu daha çok shareware tarzı componentlerde çok kullanılıyor. Delphi açıkken component çalışıyor, ancak kapanınca exe dosyadan çalışmıyor. Kullanıcı componenti rahatça deniyor, ama dağıtamıyor. Aşağıdaki kodla Delphi'nin çalışıp, çalışmadığını anlayabilirsiniz :
if FindWindow('TAppBuilder', Nil) <> 0
then
ShowMessage('Delphi çalışıyor');
Radio
Grup'taki bir öğeyi kullanılamaz yapma
TRadioButton(RadioGroup1.Controls[1]). Enabled := False;
Programınızı
Windows açılışında otomatik olarak çalışacak şekilde ayarlama
uses kısmına Registry unitini ekleyin.
procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run', False);
reg.WriteString('Uygulamam', Application.ExeName);
reg.CloseKey;
reg.free;
end;
Listbox'a
aralıklı (tab) öğeler ekleyin
Listbox'ın TabWidth özelliğini 100 olarak girin. Bu aradaki boşluğu belirtir. Daha Sonra eklemek istediğiniz öğeler arasına ^I (Tab karakteri) koyarak öğeleri ekleyin.
Listbox1.Items.Add ('Bir'^I'İki'^I'Üç');
HTML
Help (.chm) yardım dosyasını Delphi ile kullanma
Delphi içerisinde herhangi bir HTML Help bileşeni gelmiyor ancak, EHS isimli bedava bileşen sayesinde HTML Help (.chm) dosyalarını Delphi ile kullanabilirsiniz. Bileşeni sitesinden indirebilirsiniz : www.ec-software.com
StringGrid'in
her zaman ilk hücresi seçili oluyor, bunu istemiyorum
Aşağıdaki kodu projenize eklerseniz, stringGrid üzerinde seçili alan gözükmeyecektir.
procedure TForm1.FormCreate(Sender: TObject);
var
grRect: TGridRect;
begin
grRect.Left := -1;
grRect.Top := -1;
grRect.Right := -1;
grRect.Bottom := -1;
StringGrid1.Selection := grRect;
end;
Çalışma anında
(runtime) StringGrid oluşturamıyorum
TWinControl sınıfından bileşenleri runtime oluştururken, mutlaka parent vermelisiniz. Hata büyük ihtimal bundan kaynaklanıyor. Örnek kod :
procedure TForm1.Button1Click(Sender: TObject);
var
TmpStrGrid : TStringGrid;
begin
TmpStrGrid := TStringGrid.Create(Self);
TmpStrGrid.Parent := Form1;
TmpStrGrid.Left := 30;
TmpStrGrid.Top := 30;
end;
Edit'te yazarken binlik
ayıracının gözükmesini istiyorum
Bu iş için bedava olan şu iki bileşeni kullanabilirsiniz : birincisi Rx Library/JVCL içindeki bir bileşen ( www.delphi-jedi.org ), ikincisi TAdvEdit ( www.tmssoftware.com ).
Bu iş için Rx Library / JVCL içindeki TRxGifAnimator isimli bileşeni kullanabilirsiniz. Bu paket bedava dağıtılmaktadır, www.delphi-jedi.org
Formun başlık
çubuğunu (title bar) gizleme
Formun OnCreate olayına aşağıdaki kodu yazın :
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong( Handle,
GWL_STYLE,
GetWindowLong( Handle, GWL_STYLE )
and not WS_CAPTION );
ClientHeight := Height;
end;
Başka bir uygulamaya karakter gönderme
aşağıdaki örnek notepad uygulamasına A karakterini gönderir.
procedure TForm1.Button1Click(Sender: TObject);
var
g,d:integer;
begin
{uygulamanın ana penceresini bul}
g:=FindWindow('Notepad',nil);
{uygulama penceresindeki text box'ı bul}
d:=ChildWindowFromPoint(g,point(50,50));
{karakteri gönder}
SendMessage(d,WM_CHAR,Ord('A'),0);
end;
Formları başlık çubuğundan tutmadan taşımak için veya form üzerindeki herhangi bir nesneyi taşımak için, OnMouseDown olayına aşağıdaki kodu yazın.
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
Form1.Perform(WM_SysCommand, SC_DragMove, 0);
end;
F1, F2, F3 gibi Fonksiyon Kısayol Tuşlarını Kullanmak
Formun KeyPreview özelliğini True yapın ve OnKeyDown olayına aşağıdaki kodu yazın :
if Key = VK_F2 then
begin
{F2'ye basılırsa burdaki kod çalışır}
end;
image1.picture.bitmap := nil;
Bir Formu Runtime'da Oluşturup, Yok Etmek
Project menüsünden Options komutunu verin ve formu Avaible Forms kısmına taşıyın. Daha sonra aşağıdaki kodla formu gerektiği zaman oluşturup kullanabilir ve işi bitince yok edebilirsiniz. Böylece form boş yere hafızada yer işgal etmemiş olur.
try
Form2 := TForm2.Create(Application);
Form2.ShowModal;
finally
Form2.Free;
end;
WebBrowser'da Bir Kelimeyi Bulma
Aşağıdaki fonksiyon istediğiniz kelimeyi webbrowser'da bulup aydınlatır.
{....}
private
procedure SearchAndHighlightText(aText: string);
{....}
procedure TForm1.SearchAndHighlightText(aText: string);
var
i: Integer;
begin
for i := 0 to WebBrowser1.OleObject.Document.All.Length - 1 do
begin
if Pos(aText, WebBrowser1.OleObject.Document.All.Item(i).InnerText) <> 0
then
begin
WebBrowser1.OleObject.Document.All.Item(i).Style.Color := '#FFFF00';
WebBrowser1.OleObject.Document.All.Item(i).ScrollIntoView(True);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SearchAndHighlightText('Aranan_Kelime');
end;
Internet Bağlantısını Kontrol Etmek
Bunun için bir kaç yöntem var :
1.
www.google.com gibi bir siteye ping atıp atamadığını test edebilirsiniz.
2. TCP bileşenini kullanarak bu bileşenin LocalIP özelliğini kontrol
edebilirsiniz. Eğer 0.0.0.0 ise internete bağlı değildir.
if TCP1.LocalIp = '0.0.0.0' then
ShowMessage('Internete bağlı değilsiniz!');
3. Aşağıdaki Kod :
procedure TForm1.Button1Click(Sender: TObject);
function FuncAvail(_dllname, _funcname: string;
var _p: pointer): boolean;
{return True if _funcname exists in _dllname}
var _lib: tHandle;
begin
Result := false;
if LoadLibrary(PChar(_dllname)) = 0 then exit;
_lib := GetModuleHandle(PChar(_dllname));
if _lib <> 0 then begin
_p := GetProcAddress(_lib, PChar(_funcname));
if _p <> NIL then Result := true;
end;
end;
{Win > Win98 de SHELL32.DLL i çağırın diğer işletim sistemlerinde URL.dll i
çağırın }
{buton code:}
var
InetIsOffline : function(dwFlags: DWORD):
BOOL; stdcall;
begin
if FuncAvail('URL.DLL', 'InetIsOffline',
@InetIsOffline) then
if InetIsOffLine(0) = true
then ShowMessage('Bağlı değil!')
else ShowMessage('Internete Bağlı.');
Form Başlık Çubuğundan(title bar) Taşınamasın
Formun OnCreate olayına aşağıdaki kodu yazın :
procedure TForm1.FormCreate(Sender: TObject);
var
hMenuHandle : HMENU;
begin
hMenuHandle := GetSystemMenu(Form1.Handle, FALSE); //Get the handle of the
Form
if (hMenuHandle <> 0) then
DeleteMenu(hMenuHandle, SC_MOVE, MF_BYCOMMAND); //disable moving
end;
Bedava olarak dağıtılan TurboPower ShellShock içindeki Shortcut bileşeni ile kolayca kısayol oluşturabilirsiniz.
Bu hata oluşturulmayan/olmayan bir nesneye ulaşmaya çalıştığınzda meydana gelir. Mesela henüz oluşturulmamış bir formu göstermek istediğinizde.
Genelde karşılaşılan durumlardan biri de DataModule kullananların, datamodule henüz oluşturulmadan burdaki nesneleri kullanmak istemeleridir. Eğer datamodule kullanıyorsanız, Project menüsünden Options komutunu verin. Forms sekmesinde, Auto-create forms kısmında datamodule'ü ilk sıraya taşıyın.
procedure TForm1.ConvertJpgToBitmap(Jpeg: TJpegImage);
var
bmp: TBitmap;
dir: String;
begin
dir := GetWindowsDir;
bmp := TBitmap.Create;
try
Jpeg := TJpegImage.Create;
Jpeg.LoadFromFile('somejpeg.jpg');
with bmp do
begin
Width := Jpeg.Width;
Height := Jpeg.Height;
Canvas.Draw(0, 0, Jpeg);
SaveToFile('somebmp.bmp');
Free;
end;
finally
Jpeg.Free;
end;
end;
RandomRange fonksiyonunu kullanabilirsiniz.
Bu fonksiyon, verdiğiniz
aralıkta rastgele(random) sayı üretir. Math unitini uses kısmına ekleyin.
RandomRange(0,4) // 0 ile 4 arasında rastgele sayı üretir.
CopyFile fonksiyonu ile dosya kopyalayabilirsiniz. Sondaki parametre False ise aynı isimde dosya varsa üzerine yazar, True ise yazmaz.
CopyFile('c:\1.txt', 'c:\Mustafa\1.txt', False);
Çalışan Programların Listesini Alma
function EnumWindowsProc(Wnd: HWND; List: TStrings): Boolean; stdcall;
var
ParentWnd: HWND;
ExStyle: DWORD;
Caption: array [0..255] of Char;
begin
if IsWindowVisible(Wnd) then
begin
ParentWnd:=GetWindowLong(Wnd,GWL_HWNDPARENT);
ExStyle:=GetWindowLong(Wnd,GWL_EXSTYLE);
if ((ParentWnd=0) or (ParentWnd=GetDesktopWindow)) and
((ExStyle and WS_EX_TOOLWINDOW=0) or (ExStyle and WS_EX_APPWINDOW<>0)) and
(GetWindowText(Wnd,Caption,SizeOf(Caption))>0) then
List.AddObject(Caption,Pointer(Wnd));
end;
Result:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(@EnumWindowsProc,Integer(ListBox1.Items));
end;
Bazı işlemleri yaparken fareyi bir konuma taşıyıp, otomatik tıklama yapmasını isteyebilirsiniz. Bu durumda SetCursorPos ile kursörü istediğiniz konuma taşıyıp, aşağıdaki kodu yazın :
mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
Harddisk'in Fabrika Seri Numarasını Bulma
Ide Diskler için : ide_sn.zip (4 KB), SCSI Diskler için : scsi_sn.zip (4 KB).
NOT : Windows 9x'te SMARTVSD.VXD isimli dosyayı "windows\system" klasöründen "windows\system\iosubsys" klasörüne kopyalayıp restart etmek gerekiyor.
TImage'deki Resmi Başka Bir TImage'a Atamak
ArkaPlan.Picture.Bitmap.Assign(image1.picture.bitmap); //image1'deki resim ArkaPlan'a atanır.
StringGrid'te Enter Tuşuna Basınca Yan Hücreye
Geçsin
StringGrid'in OnKeyDown olayına aşağıdaki kodu yazın :
if (key = vk_return) and
(StringGrid1.Col < StringGrid1.ColCount-1) then
StringGrid1.Col:=StringGrid1.Col+1;
bimeks borland component database delphi delphi.net delphi dersleri firebird help interbase makale oracle
seminer software sybase veritabanı web