Kod:
Form1.Print;
O anki sürücünün kapasitesini ve sürücüdeki bos yer miktarini bulmak;
DiskFree(0) //o anki sürücüdeki bos yer miktarini 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ü ögesinin enabled özelligini false yapmak;
mainmenu1.items[0].items[1].enabled:=False;
Listbox veya Combobox'ta seçili bir veya birden fazla ögeyi seçilmemis 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 numarasinin bulunmasi;
procedure TForm1.Button1Click(Sender: TObject);var VolumeSerialNumber : DWORD; MaximumComponentLength : DWORD; FileSystemFlags : DWORD; SerialNumber : string;begin GetVolumeInformation('C:\',nil,0,@VolumeSerialNumb er,MaximumComponentLength,FileSystemFlags,nil, 0); SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' +IntToHex(LoWord(VolumeSerialNumber), 4); Memo1.Lines.Add(SerialNumber);end; Bir string'in basindaki ve sonundaki bosluklari atmak için;
Trim(string) TrimLeft (string) //stringin sadece basindaki bosluklari atmak içinTrimRight (string) //stringin sadece sonundaki bosluklari atmak için sifreli bir table için programin sifre istememesi için;
Table'in Active özelligini False yapin ve Form'un OnCreate olayina asagidaki kodu ekleyin
Session.AddPassword('sifre');Table1.Active:=True; Pencereyi minimize etmek;
Application.Minimize; //taskbar'a minimize
CloseWindow(handle)
WindowState := wsMinimized;
Windows'u kapatmak veya yeniden baslatmak(reboot);
var i:dword;begin ExitWindowsEx(EWX_SHUTDOWN); //yeniden baslatmak için EWX_REBOOTend; Help menüsünden About kismina girin. Alt tusuna basili tutarak TEAM veya DEVELOPERS yazin. Delphi'yi gelistirenlerin isimlerini görebilirsiniz. Database Desktop'tada Help menüsünden About kismina girin ve delphi yazin.
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 kismina 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 tuslarini açip-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 tusu için VK_CAPITAL yerine VK_NUMLOCK yaziniz.
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 tuslarinin kullanilmaz hale getirilmesi;
var OldVal : LongInt;begin SystemParametersInfo (97, Word (True), @OldVal, 0) //Word(False) ile kullanirsaniz tuslari tekrar kullanabilirsiniz. Windows ve System klasörlerinin bulunmasi
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 çikartma
MessageBeep(word(-1)); Belgeler menüsüne bir dosya ekleme
uses kismina ShlOBJ unitini ekleyin;
procedure TForm1.Button1Click(Sender: TObject);var s : string;begin s := 'C:\DownLoad\deneme.html'; SHAddToRecentDocs(SHARD_PATH, pChar(s));end; Belgeler menüsünü temizleme
uses kismina ShlOBJ unitini ekleyin;
SHAddToRecentDocs(SHARD_PATH, nil); Bir web adresini açma
uses kismina Shellapi unitini ekleyin;
ShellExecute(Handle, 'open', 'http://emreoz.cjb.net', nil, nil, sw_ShowMaximized); Bir DOS programini çalistirma ve çalismasi bitince penceresini kapatma
WinExec("command.com /c progdos.exe",sw_ShowNormal); //progdos.exe çalistiriliyor.
//eger ikinci paremetreyi sw_Hide yaparsaniz kullanici programin çalistigini görmez.
Uygulamanizin Görev Çubugundaki butonunu gizleme
Uygulamanizin Görev Çubugundaki butonunu gizlemek için programinizin ana formunun OnCreate olayina asagidaki kodu yazin;
SetWindowLong(Application.Handle,GWL_EXSTYLE, WS_EX_TOOLWINDOW); Ekran koruyucusunu kapatmak ve açmak
//kapatmak içinSystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 0, nil, 0);//açmak içinSystemParametersInfo(SPI_SETSCREENSAVEACTIVE, 1, nil, 0); Alt+F4 tus kombinasyonuyla programin kapanmamasi için
Formun OnCreate olayina;
KeyPreview := true; Formun OnKeyDown olayina;
if ((ssAlt in Shift) and (Key = VK_F4)) then Key := 0; Hareketli imleç(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 sirket) bulunmasi
uses kismina 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 Satirli ipucu
procedure TForm1.FormCreate(Sender: TObject);begin SpeedButton1.Hint:='Çok satirli ipucunu '+chr(13)+ 'mutlaka denemelisiniz '+chr(13)+ 'çok güzel';end; Bir klasörü ve onun altindaki tüm dosyalari ve klasörleri silme
Ancak salt okunur (read only) özelligi olan ve kullanimda 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; Baslat butonunu gizlemek veya kullanilmaz hale getirmek
procedure TForm1.Button1Click(Sender: TObject);var Rgn : hRgn;begin // Baslat 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 Baslat 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 //Baslat butonunu kullanilmaz yap EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d', nil), 0, 'Button', nil), false);end;procedure TForm1.Button4Click(Sender: TObject);begin //Kullanilmaz yapilan Baslat butonunu eski haline getirmek için EnableWindow(FindWindowEx(FindWindow('Shell_TrayWn d', nil), 0, 'Button', nil), true);end; Windows Gezginini istediginiz bir klasörle açma
uses kismina Shellapi unitini ekleyin.
ShellExecute(0, 'explore', 'C:\WINDOWS', //açmak istediginiz dizin nil, nil, SW_SHOWNORMAL); Duvar kagidini degistirmek
var s: string;begin s := 'c:\windows\athena.bmp'; SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, PChar(s),0); Form'un arka kismina bir resmi dösemek
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 Masasi uygulamasini çalistirmak
Control Panel uygulamalari Windows\System klasörü altinda bulunur. *.CPL uzantili dosyalardir. Bu uygulamalari Control.Exe programi ile çalistirabilirsiniz. Bazi Control Panel uygulamalari Windows\System klasöründe bulunmaz. Bunlarin ismini vererek çalistirabilirsiniz.
WinExec('C:\WINDOWS\CONTROL.EXE TIMEDATE.CPL', sw_ShowNormal);WinExec('C:\WINDOWS\CONTROL.EXE MOUSE', sw_ShowNormal);WinExec('C:\WINDOWS\CONTROL.EXE PRINTERS', sw_ShowNormal); Sayilari virgüllerle yazmak Sayi windows'unuz ayarina göre 12.345.678 veya 12,345,678 seklinde gösterilir. procedure TForm1.Button1Click(Sender: TObject); var i : integer;begin i := 12345678; Memo1.Lines.Add(FormatFloat('#,', i)); Sistem Tarihini ve Saatini Degistirmek
Sistemin tarihini ve saatini degistirmek 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; Fareyi mesgul sekilde göstermek
try Screen.Cursor := crHourGlass; {buraya kodunuzu yazin...} finally Screen.Cursor := crDefault;end; Application.ProcessMessages; Dos programi 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;
ilk harf büyük digerleri küçük
Edit1'e yazilan yazinin ilk harfini büyük diger harflerini küçük yapiyor.
var
OldStart : Integer;
begin
With Edit1 do
if Text <> '' then begin
OnChange := NIL;
OldStart := SelStart;
Text := UpperCase(Copy(Text,1,1))+LowerCase(Copy(Text,2,Le 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 alip bir wav dosyasi içine kayit ediyor.
uses
MMSystem,
WinCrt;
function RecordSound(MMSecs: LongInt): LongInt;
var
DeviceID: Word;
Return: LongInt;
MciOpen: TMCI_Open_Parms;
MciRecord: TMCI_Record_Parms;
MciPlay: TMCI_Play_Parms;
MciSave: TMCI_SaveParms;
Result2: LongInt;
Flags: Word;
begin
MciOpen.lpstrDeviceType := 'waveaudio';
MciOpen.lpstrElementName := '';
Flags := Mci_Open_Element or Mci_Open_Type;
Result2 := MciSendCommand(0, MCI_OPEN, Flags, LongInt(@MciOpen));
DeviceID := MciOpen.wDeviceId;
WriteLn('Kayit');
MciRecord.dwTo := MMSecs;
Flags := Mci_To or Mci_Wait;
Result2 := MciSendCommand(DeviceID, Mci_Record, Flags, LongInt(@MciRecord));
WriteLn('Durdur');
mciPlay.dwFrom := 0;
Flags := Mci_From or Mci_Wait;
MciSendCommand(DeviceId, Mci_Play, Flags, LongInt(@MciPlay));
mciSave.lpfileName := 'Ses.Wav';
Flags := MCI_Save_File or Mci_Wait;
Result := MciSendCommand(DeviceID, MCI_Save, Flags, LongInt(@MciSave));
MciSendCommand(DeviceID, Mci_Close, 0, LongInt(nil));
end;
begin
WriteLn('Basla');
RecordSound(10000);
WriteLn('Bitir');
DELPHi NASIL EXE YAPIYOR ?
Delphi , delphi ile birlikte gelen dcc.exe ile projeleri derliyor. (Delphi 3'de dcc32.exe)
Örnek olarak
dcc /cw /b uls.dpr
komutlar :
/cw : Windows için,
/cd : Dos için,
/cp: Korumali mod için.
/b: Hepsini tekrar olustur,
/m: Hepsinin güncel oldugundan emin ol.
BRC Nedir ?
Brc Res dosyalarini derliyor.
Bir res dosyasi açin ,(Notepad ile)
içine Icon ICON "emre.ico" yazin. (emre.ico dosyasi ayni klasörde bulunmali. )
BRC -r EMRE.RES olarak derleyin.