var
f: file;
begin
Assign(f DirInfo.Name);
Reset(f);
SetFTime(f Time);
Close(f);
end;
Deltree
{$I-} {$I+}
procedure delTree (DirName: string);
var
FileSearch: SearchRec;
begin
chDir (DirName);
FindFirst ('*.*' Directory FileSearch);
while (DosError = 0) do begin
if (FileSearch.name <> '.') AND (FileSearch.name <> '..') AND
( (FileSearch.attr AND Directory) <> 0)
then begin
if DirName[length(DirName)] = '\' then
delTree (DirName+FileSearch.Name)
else
delTree (DirName+'\'+FileSearch.Name);
ChDir (DirName);
end;
FindNext (FileSearch)
end;
FindFirst ('*.*' AnyFile FileSearch);
while (DosError = 0) do begin
if (FileSearch.name <> '.') AND (FileSearch.name <> '..') then
Remove (workdir);
end;
FindNext (FileSearch)
end;
rmDir (DirName)
end;
ComboBox'ın aşağıya listelemesinin farklı bir yolu (DropComboBox)
SendMessage(ComboBox1.handle 1039 1 0);
Başlığı Gizlemek ve Göstermek
Procedure HideTitlebar;
Var
Save : LongInt;
Begin
If form1.BorderStyle=bsNone then Exit;
Save:=GetWindowLong(form1.Handlegwl_Style);
If (Save and ws_Caption)=ws_Caption then Begin
Case form1.BorderStyle of
bsSingle
bsSizeable : SetWindowLong(form1.Handlegwl_StyleSave and
(Not(ws_Caption)) or ws_border);
bsDialog : SetWindowLong(form1.Handlegwl_StyleSave and
(Not(ws_Caption)) or ds_modalframe or ws_dlgframe);
End;
form1.Height:=form1.Height-getSystemMetrics(sm_cyCaption);
form1.Refresh;
End;
end;
Procedure ShowTitlebar;
Var
Save : LongInt;
begin
If form1.BorderStyle=bsNone then Exit;
Save:=GetWindowLong(form1.Handlegwl_Style);
If (Save and ws_Caption)<>ws_Caption then Begin
Case form1.BorderStyle of
bsSingle
bsSizeable : SetWindowLong(form1.Handlegwl_StyleSave or ws_Caption or
ws_border);
bsDialog : SetWindowLong(form1.Handlegwl_StyleSave or ws_Caption or
ds_modalframe or ws_dlgframe);
End;
form1.Height:=form1.Height+getSystemMetrics(sm_cyC aption);
form1.Refresh;
End;
end;
GradientFill (eyimli renk) kullanımı
Önce uses bölümüne chart ekleyin.
Formun üstüne bir tane image componenti yerleştirin ve formun create olayına aşağıdaki kodu yazın.
procedure TForm1.FormCreate(Sender: TObject);
begin
GradientFill(Image1.CanvasImage1.ClientRectclred clbluefalse);
end;
Küçük bir kolaylık ctrl-space
Delphide eşitlik kurucağınız zaman ctrl-space'e bastığınızda verebileceğiniz değerleri göstermektedir.
Label1.caption:= (burada ctrl-space bastığınızda verebileceğiniz değerleri görürsünüz)
Dbf dosyasını pack etmek (silinen dosyaları diskten silmek)
BDE' nin yüklü olup olmadığını anlamak
HKEY_LOCAL_MACHINE\Software\Borland\Database Engine bölümü bde'ye ayrılmıştır ve yüklü olup olmadığını aşağıdaki değerleri kontrol ederek bulabilirsiniz.
DLLPATH
CONFIGFILE01
Clipboard'a kopyalama ve yapıştırma (copypast)
procedure CopyButtonClick(Sender: TObject);
begin
If ActiveControl is TMemo then TMemo(ActiveControl).CopyToClipboard;
If ActiveControl is TDBMemo then TDBMemo(ActiveControl).CopyToClipboard;
If ActiveControl is TEdit then TEdit(ActiveControl).CopyToClipboard;
If ActiveControl is TDBedit then TDBedit(ActiveControl).CopyToClipboard;
end;
procedure PasteButtonClick(Sender: TObject);
begin
If ActiveControl is TMemo then TMemo(ActiveControl).PasteFromClipboard;
If ActiveControl is TDBMemo then TDBMemo(ActiveControl).PasteFromClipboard;
If ActiveControl is TEdit then TEdit(ActiveControl).PasteFromClipboard;
If ActiveControl is TDBedit then TDBedit(ActiveControl).PasteFromClipboard;
end;
TStringgrid'i kaydetme ve açma
Procedure SaveGrid;
var
f:textfile;
xy:integer;
begin
assignfile (f'Filename');
rewrite (f);
writeln (fstringgrid.colcount);
writeln (fstringgrid.rowcount);
For X:=0 to stringgrid.colcount-1 do
For y:=0 to stringgrid.rowcount-1 do
writeln (F stringgrid.cells[xy]);
closefile (f);
end;
Procedure LoadGrid;
var
f:textfile;
tempxy:integer;
tempstrtring;
begin
assignfile (f'Filename');
reset (f);
readln (ftemp);
stringgrid.colcount:=temp;
readln (ftemp);
stringgrid.rowcount:=temp;
For X:=0 to stringgrid.colcount-1 do
For y:=0 to stringgrid.rowcount-1 do begin
readln (F tempstr);
stringgrid.cells[xy]:=tempstr;
end;
closefile (f);
Avi dosyasının görünüm alanını seçilen panele eşitleme
begin
with MediaPlayer1 do begin
DeviceType := dtAutoSelect;
visible := false;
FileName := InputBox('AVI' 'Enter AVI file name' 'c:\windows\borland.avi');
display := panel1;
open;
DisplayRect := rect(0 0 panel1.width panel1.height); {This is it!}
rewind;
play;
end;
end;
Windows'a çizgi çizmenin farklı bir yolu
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X Y: Integer);
var dc:hdc;
begin
dc:=getdc(0);
Windows.LineTo(dcxy);
end;
function IsCapsLockOn : boolean;
begin Result := 0 <> (GetKeyState(VK_CAPITAL) and $01);
end;
Renklerin hex değerlerini bulma
function
TColorToHex( Color : TColor ) : string;
begin
Result := IntToHex( GetRValue( Color ) 2 ) + IntToHex( GetGValue( Color ) 2 ) + IntToHex( GetBValue( Color ) 2 );
end;
Cursor'u gizleyip tekrar gösterme
Showcursor(true); //cursoru göster
Showcursor(false); //cursoru gizle
İnternete bağlı olup olmadığınızı anlamak
Forma bir tane tcp componenti ve bir tane buton yerleştirdikten sonra
Buttonnun içine aşağıdaki yazı yazılır.
if TCP1.LocalIp = '0.0.0.0' then
ShowMessage('Bağlı değilsiniz!');
Html Sayfasını printerden çıkarma
uses Printers;
var
EskCur: TCursor;
begin
EskCur := Screen.Cursor;
with Printer do begin
BeginDoc;
HTML1.AutoPrint(handle);
Title := HTML1.URL;
EndDoc;
end;
Screen.Cursor := EskCur;
end;
Menu'ye clicklenirken hangi tuşla basıldığını algılama (ControlShiftAlt)
procedure TForm1.Menu1Click(Sender: TObject);
begin
if HiWord(GetKeyState(VK_SHIFT)) <> 0 then
Label1.Caption := 'Shift'
else
if HiWord(GetKeyState(VK_CONTROL)) <> 0 then
Label1.Caption := 'Control'
else
if HiWord(GetKeyState(VK_MENU)) <> 0 then
Label1.Caption := 'Alt'
else
Label1.Caption := 'None';
end;
Formu taskbardan gizleme
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
ShowDeleted(Table1 CheckBox1.Checked);
end;
end.
Form hakkında kısa bilgi
Form1.Show; {Formu göster}
Form1.Showmodal { Formu showmodal olarak göster (Showmodal iken başka hiçbir forma ulaşılamaz) }
myForm.Hide; {Formmu gizle }
myForm.Free; {Formu sil }
Formu şeffaf hale getirilmesi
OnKeyPress olayına if Key = #27 then halt; yazın.
Bir Resim Dosyası Açıp İçine Çizim Yapma
var
Resim: TBitmap;
Resim := TBitmap.Create;
with Resim do
try
Width := 100;
Height := 100;
with Canvas do
begin
Rectangle(0 0 100 100);
MoveTo(0 0);
LineTo(100 100);
MoveTo(0 100);
LineTo(100 0);
end;
SaveToFile('test.bmp')
finally
Free;
end;
Asla Yazı Kutusundan Çıkamazsın
procedure TForm1.Edit1Exit(Sender: TObject);
begin
showmessage('Asla yazı kutusundan çıkamassın');
postmessage(handleWM_NEXTDLGCTL00);
postmessage(handleWM_NEXTDLGCTL10);
end;
Formun Boyutlarını Sabitleme
unit Unit1;
interface
uses
Windows Messages SysUtils Classes Graphics Controls Forms Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo ); message WM_GETMINMAXINFO;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo );
begin
with Message.MinMaxInfo^ do
begin
ptMaxSize.X := 200;
ptMaxSize.Y := 200;
ptMaxPosition.X := 99;
ptMaxPosition.Y := 99;
ptMinTrackSize.X := 100;
uses Registry;
procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
b : bool;
begin CopyFile('C:\DOWNLOAD\FP000100.TTF' 'C:\WINDOWS\FONTS\FP000100.TTF' b);
reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false; reg.OpenKey('Software\Microsoft\Windows\CurrentVer sion\Fonts' false); reg.WriteString('TESTMICR (TrueType)''FP000100.TTF');
reg.CloseKey; reg.free;
AddFontResource('c:\windows\fonts\FP000100.TTF'); SendMessage(HWND_BROADCAST WM_FONTCHANGE 0 0);
RemoveFontResource('c:\windows\fonts\FP000100.TTF' ); SendMessage(HWND_BROADCAST WM_FONTCHANGE 0 0);
end;
Dosya Taşıma
MoveFile('C:\Source\sourcefile.txt' 'C:\Dest\destfile.txt');
Trim Fonksiyonunun açılımı
unit StrFunc;
interface
procedure LTrim(var s : string);
procedure RTrim(var s : string)
;procedure Trim(var s : string);
implementation
{$R *.DFM}
procedure LTrim(var s : string);
begin
while ((length(s) > 0) and (s[1] = #32)) do Delete(s 1 1);
end;
procedure RTrim(var s : string);
begin
while ((length(s) > 0) and (s[Length(s)] = #32)) do Delete(s Length(s) 1);
end;
procedure Trim(var s : string);
begin
LTrim(s); RTrim(s);
end;
Screen Capture Programı (Ekran Çalma)
Bir tane image componenti eklemek zorundasınız.
procedure TForm1.FormCreate(Sender: TObject);
var
DCDesk: HDC;
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(Image1.Canvas.Handle 0 0 Screen.Width Screen.HeightDCDesk 0 0SRCCOPY);
ReleaseDC(GetDesktopWindow DCDesk);
end;
Sağa yada Sola hizalama function'u
function hiza(sagsolyertring;sayi:integer)tring;
var
iboslukuzunluk:integer;
begin
trim(yer); //Boşlukları temizle
uzunluk:=length(yer); //Verilen stringin uzunluğunu öğren
bosluk:=sayi-uzunluk; //Verilen sayıdan uzunluğu çıkar
if sagsol='sag' then begin //Sağamı solamı yaslancağını öğren
for i:=1 to bosluk do begin //Fark kadar sağa boşluk ekle
yer:=' '+yer; //Boşluk ekle
end;
result:=yer; //Sonucu bildir
exit;
end;
if sagsol='sol' then
begin
trim(yer);
for i:=1 to bosluk do begin //Fark kadar sola ekle
yer:=yer+' ';
end;
result:=yer; //Sonucu bildir
exit;
end;
Sayıyı virgüllü yazma functionu
Bunun için forma birtana label componenti yerleştirin ve visible özeliğini false yapın.
function frmt(yertring)tring;
var
string;
uzunluk:integer;
kalankdgr:integer;
begin
s:='.';
uzunluk:=Length(yer);
dgr:=uzunluk div 3;
kalan:=uzunluk - (dgr*3);
label1.caption:=inttostr(kalan);
if yer='0' then
begin
yer:='0';
result:=yer;
exit;
end;
if label1.caption<>'0' then
begin
insert(syerkalan+1);
for k:=1 to dgr do begin
if k=dgr then begin
insert(''yer(kalan +(k*3)+k+1));
result:=yer;
exit;
end;
insert(syer(kalan +(k*3)+k+1));
end;
end;
Comp değerindeki bir sayıyı string yapma
function Comp2Str(N: Comp): String;
var
TS: String;
begin
Str(N:0:0 TS);Comp2Str := TS;
end;
Dosya açılış yolları
Windows programının açılışı
WinExec('C:\WINDOWS\NOTEPAD.EXE' SW_SHOWNORMAL);
Komut satırı ile birlikte :
WinExec('C:\WINDOWS\NOTEPAD.EXE C:\WINDOWS\WIN.INI' SW_SHOWNORMAL);
Pop Up dos kutusuyla :
WinExec('COMMAND.COM' SW_SHOWNORMAL);
Normal bir dos programının komutla açılışı
WinExec('COMMAND.COM /C DIR *.*' SW_SHOWNORMAL);
Dekstop'ı refresh etmek
procedure TForm1.Button1Click(Sender: TObject);
begin
SendMessage(FindWindow('Progman' 'Program Manager') WM_COMMAND$A065 0);
end;
Programın windows'la birlikte açılması
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Form1.HandleGWL_STYLEGetWindowLong (HandleGWL_STYLE) and not WS_CAPTION);
Height := ClientHeight;
end;
Flash icon
var Flash : bool;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
FlashWindow(Form1.Handle Flash);
FlashWindow(Application.Handle Flash); Flash := not Flash;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Flash := False;
end;
Taskbar'ın handle sayısı
hTaskbar := FindWindow('Shell_TrayWnd' Nil );
Exe yada Dll'deki iconların alınması
Uses shellapi;
procedure TForm1.FormCreate(Sender: TObject);
var TheIcon: TIcon;
begin TheIcon := TIcon.Create;
TheIcon.Handle := ExtractIcon(hInstance'C:\dosya\dosya.EXE'0);
image1.picture.Icon:=Theicon;
end;
Windows ekranına çizim yapma
procedure TForm1.Button1Click(Sender: TObject);
var dc : hdc;
begin dc := GetDc(0);
MoveToEx(Dc 0 0 nil);
LineTo(Dc 300 300);
ReleaseDc(0 Dc);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: PChar;
Size: Byte;
begin
Size := Edit1.GetTextLen; {Get length of string in Edit1}
Inc(Size); {Add room for null character}
GetMem(Buffer Size); {Creates Buffer dynamic variable}
Edit1.GetTextBuf(BufferSize); {Puts Edit1.Text into Buffer}
Edit2.Text := StrPas(Buffer); {Converts Buffer to a Pascal-style string]
FreeMem(Buffer Size); {Frees memory allocated to Buffer}
end;
Form1'in aynısını printerden çıkartma
Form1.Print;
O anki 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 menü öğesinin enabled özelliğini false yapmak;
mainmenu1.items[0].items[1].enabled:=False;
Listbox veya Combobox'ta seçili bir veya birden fazla öğeyi seçilmemiş duruma getirmek için;
Listbox1.itemindex:=-1;
Listbox Combobox ve Memo'ya bir seferde ekleme yapmak;
Listbox1.items.SetText('aaa'#13'bbb'#13'ccc');
Memo1.Lines.SetText('aaa'#13'bbb'#13'ccc');
Harddiskin seri numarasının bulunması;
procedure TForm1.Button1Click(Sender: TObject);
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
GetVolumeInformation('C:\'nil0@VolumeSerialNumb erMaximumComponentLengthFileSystemFlagsnil 0);
SerialNumber := IntToHex(HiWord(VolumeSerialNumber) 4) + '-' +IntToHex(LoWord(VolumeSerialNumber) 4);
Memo1.Lines.Add(SerialNumber);
end;
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
Şifreli bir table için programın şifre istememesi için;
Table'ın Active özelliğini False yapın ve Form'un OnCreate olayına aşağıdaki kodu ekleyin
Session.AddPassword('şifre');
Table1.Active:=True;
Pencereyi minimize etmek;
Application.Minimize; //taskbar'a minimize
CloseWindow(handle)
WindowState := wsMinimized;
Windows'u kapatmak veya yeniden başlatmak(reboot);
var
iword;
begin
ExitWindowsEx(EWX_SHUTDOWN); //yeniden başlatmak için EWX_REBOOT
end;
Help menüsünden About kısmına girin. Alt tuşuna basılı tutarak TEAM veya DEVELOPERS yazın.
Delphi'yi geliştirenlerin isimlerini görebilirsiniz. Database Desktop'tada Help menüsünden About kısmına girin ve delphi yazın.
ico'dan bmp'ye çevirme;
var
Icon : TIcon;
Bitmap : TBitmap;
begin
Icon := TIcon.Create;
Bitmap := TBitmap.Create;
Icon.LoadFromFile('c:\picture.ico');
Bitmap.Width := Icon.Width;
Bitmap.Height := Icon.Height;
Bitmap.Canvas.Draw(0 0 Icon );
Bitmap.SaveToFile('c:\picture.bmp');
Icon.Free;
Bitmap.Free;
end;
CD-Rom sürücüyü açmak ve kapamak;
uses kısmına MMSystem unitini ekleyin.
mciSendString('Set cdaudio door open wait' nil 0 handle); //aç
mciSendString('Set cdaudio door closed wait' nil 0 handle); //kapa
CapsLock ve Numlock tuşlarını açıp-kapama;
procedure TMyForm.Button1Click(Sender: TObject);
Var
KeyState : TKeyboardState;
begin
GetKeyboardState(KeyState);
if (KeyState[VK_CAPITAL] = 0) then
KeyState[VK_CAPITAL] := 1
else
KeyState[VK_CAPITAL] := 0;
SetKeyboardState(KeyState);
end;
Numlock tuşu için VK_CAPITAL yerine VK_NUMLOCK yazınız.
Menü'ye bitmap (resim) ekleme;
procedure TForm1.FormCreate(Sender: TObject);
var
Bmp1 : TPicture;
begin
Bmp1 := TPicture.Create;
Bmp1.LoadFromFile('c:\deneme\turkey.bmp');
SetMenuItemBitmaps( deneme1.Handle
0
MF_BYPOSITION
Bmp1.Bitmap.Handle
Bmp1.Bitmap.Handle);
end;
Alt + Tab ve Ctrl + Esc tuşlarının kullanılmaz hale getirilmesi;
var
OldVal : LongInt;
begin
SystemParametersInfo (97 Word (True) @OldVal 0)
//Word(False) ile kullanırsanız tuşları tekrar kullanabilirsiniz.
Windows ve System klasörlerinin bulunması
procedure TForm1.Button1Click(Sender: TObject);
var
a : Array[0..144] of char;
begin
GetWindowsDirectory(a sizeof(a));
ShowMessage(StrPas(a));
GetSystemDirectory(a sizeof(a));
ShowMessage(StrPas(a));
end;
Speakerdan Beep sesi çıkartma
MessageBeep(word(-1));
Belgeler menüsüne bir dosya ekleme
uses kısmına ShlOBJ unitini ekleyin;
procedure TForm1.Button1Click(Sender: TObject);
var
s : string;
begin
s := 'C:\DownLoad\deneme.html';
SHAddToRecentDocs(SHARD_PATH pChar(s));
end;
Bir web adresini açma
uses kısmına Shellapi unitini ekleyin;
ShellExecute(Handle
'open'
'http://emreoz.cjb.net'
nil
nil
sw_ShowMaximized);
Bir DOS programını çalıştırma ve çalışması bitince penceresini kapatma
WinExec("command.com /c progdos.exe"sw_ShowNormal); //progdos.exe çalıştırılıyor.
//eğer ikinci paremetreyi sw_Hide yaparsanız kullanıcı programın çalıştığını görmez.
Uygulamanızın Görev Çubuğundaki butonunu gizleme
Uygulamanızın Görev Çubuğundaki butonunu gizlemek için programınızın ana formunun OnCreate olayına aşağıdaki kodu yazın;
SetWindowLong(Application.HandleGWL_EXSTYLE WS_EX_TOOLWINDOW);
Ekran koruyucusunu kapatmak ve açmak
//kapatmak için
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE
0
nil
0);
//açmak için
SystemParametersInfo(SPI_SETSCREENSAVEACTIVE
1
nil
0);
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;
Hareketli İmleç(animated cursor)leri kullanma
procedure TForm1.Button1Click(Sender:TObject);
var
h : THandle;
begin
h := LoadImage(0
'C:\TheWall\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;
Windows lisans bilgilerinin (isim ve şirket) bulunması
uses kısmına Registry unitini ekleyin;
procedure TForm1.Button1Click(Sender:TObject);
var
reg: TRegIniFile;
begin
reg := TRegIniFile.create('SOFTWARE\MICROSOFT\MS SETUP (ACME)\');
Memo1.Lines.Add(reg.ReadString('USER INFO'
'DefName'
'Emre ÖZ'));
Memo1.Lines.Add(reg.ReadString('USER INFO'
'DefCompany'
'Bilgisayar Bilimleri Müh.'));
reg.free;
end;
Ç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;
Bir klasörü ve onun altındaki tüm dosyaları ve klasörleri silme
Ancak salt okunur (read only) özelliği olan ve kullanımda olan dosyalar silinmez.
procedure TForm1.Button1Click(Sender: TObject);
var
DirInfo: TSearchRec;
r : Integer;
begin
r := FindFirst('C:\Download\Test\*.*' FaAnyfile DirInfo);
while r = 0 do begin
if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
(DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
if DeleteFile(pChar('C:\Download\test\' + DirInfo.Name))
= false then
ShowMessage('C:\Download\test\'+DirInfo.Name+' silinemiyor!!!');
r := FindNext(DirInfo);
end;
SysUtils.FindClose(DirInfo);
if RemoveDirectory('C:\Download\Test') = false then
ShowMessage('C:\Download\test klasörü silinemiyor!!!');
end;
Başlat butonunu gizlemek veya kullanılmaz hale getirmek
procedure TForm1.Button1Click(Sender: TObject);
var
Rgn : hRgn;
begin
// Başlat butonunu gizle
Rgn := CreateRectRgn(0 0 0 0);
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWn d' nil)
0
'Button'
nil)
Rgn
true);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
//Gizlenen Başlat butonunu eski haline döndürmek için
SetWindowRgn(FindWindowEx(FindWindow('Shell_TrayWn d' nil)
0
'Button'
nil)
0
true);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
//Başlat butonunu kullanılmaz yap
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d' nil)
0
'Button'
nil)
false);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
//Kullanılmaz yapılan Başlat butonunu eski haline getirmek için
EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d' nil)
0
'Button'
nil)
true);
end;
Windows Gezginini istediğiniz bir klasörle açma
uses kısmına Shellapi unitini ekleyin.
Duvar kağıdını değiştirmek
var
s: string;
begin
s := 'c:\windows\athena.bmp';
SystemParametersInfo(SPI_SETDESKWALLPAPER 0 PChar(s)0);
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;
Bir Denetim Masası uygulamasını çalıştırmak
Control Panel uygulamaları Windows\System klasörü altında bulunur. *.CPL uzantılı dosyalardır. Bu uygulamaları Control.Exe programı ile çalıştırabilirsiniz. Bazı Control Panel uygulamaları Windows\System klasöründe bulunmaz. Bunların ismini vererek çalıştırabilirsiniz.
Sayıları virgüllerle yazmak
Sayı windows'unuz ayarına göre 12.345.678 veya 12345678 şeklinde gösterilir.
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
i := 12345678;
Memo1.Lines.Add(FormatFloat('#' i));
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;
Dos programı kullanmak için;
WinExec('command.com /c progdos.exe'sw_ShowNormal);
Çevirme
Edit1.OnChange := NIL;
if Edit1.Text = 'Emre ÖZ' then
Edit1.Text := 'Emre';
Edit1.OnChange := Edit1Change;
İlk harf büyük diğerleri küçük
Edit1'e yazılan yazının ilk harfini büyük diğer harflerini küçük yapıyor.
var
OldStart : Integer;
begin
With Edit1 do
if Text <> '' then begin
OnChange := NIL;
OldStart := SelStart;
Text := UpperCase(Copy(Text11))+LowerCase(Copy(Text2Le ngth(Text)));
SelStart := OldStart;
OnChange := Edit1Change;
end;
end;
Taskbar gizleme
procedure hideTaskbar;
var
wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0] 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0] nil);
ShowWindow(wndHandle SW_HIDE);
end;
procedure showTaskbar;
var
wndHandle : THandle;
wndClass : array[0..50] of Char;
begin
StrPCopy(@wndClass[0] 'Shell_TrayWnd');
wndHandle := FindWindow(@wndClass[0] nil);
ShowWindow(wndHandle SW_RESTORE);
end;
Ses kaydetme
Bu program mikrofondan sesi alıp bir wav dosyası içine kayıt ediyor.