Delphi fonksiyonlarına birkaç örnek (derleme)
1 sayfadaki 1 sayfası
Delphi fonksiyonlarına birkaç örnek (derleme)
//Pos fonksiyonu
procedure TForm1.HazirlaClick(Sender: TObject);
label 1;
var I: integer;
Dosya: string;
begin
ListBox1.Clear;
for I:= 0 to FileListBox1.Items.Count - 1 do
begin
Dosya:= FileListBox1.Items.Strings[i];
if Pos('.', Dosya) > 0 then //Nokta(. işareti) buluncaya kadar döngü
begin //devam eder.
Dosya:= Copy(Dosya, 1, Pos('.', Dosya) - 1); //Dosya'nın .işareti olan
//kısmına kadar kopyalar
//Örnek: deneme.exe (dosyanız) -> Copy('deneme.exe',1,Pos('.','deneme.exe')-1);
//Sonuç --> deneme olarak kalır. Bu durumda Copy fonksiyonu içindeki 1 başlangıç,
//Pos('.','deneme.exe')-1 ise, .işaretininden 1 eksik karekter kadar demektir.
http://deneme.exe dosyasında 1 -> d harfi, Pos('.','deneme.exe')-1 -> . işaretinden
//bir önceki e harfidir. Eğer .exe kısmını atarsak deneme 6 karekterlidir.
//Copy('deneme', 1, 6) anlamına gelir. Pos('.','deneme.exe')-1 -> 6 reel sayısını
//döndürür. Sonuç -> deneme
//Dosya:= 'Deneme.Exe';
//Copy(Dosya,Pos('.', Dosya)+1,Length(Dosya)); şeklindeki bir ifade ise;
http://Deneme.Exe isimli dosyanın sadece " Exe " kısmını döndürür. Sonuç -> Exe
if Pos('.', Dosya) = 0 then GoTo 1; //başka .işareti bulamazsa döngü
end; //sonlanır ve Label 1 olarak tanımlı
end; //satıra gider (GoTo 1). Bu şartsız
//gidiştir. Başka yere gitme şansı yok
1://
Hazirla.Enabled:= False;
Aktar.Enabled:= True;
end;
//
*Bu kodlama, DosyaAdı ve DosyaUzantısı bulma ve ayırma işleminde kullanılabilir.
*Yukarıdaki satırlar, şuan piyasada FreeWare olarak çalışan fotoğraf stüdyoları için
yazdığım "Arşiv" programımda bulunmaktadır(ve tabii diğerlerinde de).
//Trunc, Int, Frac ve Round fonksiyonları
//Pi --> Pi sayısını verir ( 3,1415926535897932385 )
var
Z, Y: string;
R, S: real;
//
Z:= IntToStr(Trunc(1.4)); //kesirli kısmı atar. - (negatif) işaretliler için de
//geçerli (sonuç = 1)
R:= Int(123.456); //kesirli kısmı atar. - (negatif) işaretliler için de
//geçerli (sonuç = 123)
S:= Frac(123.456); //tam sayı kısmını atar. - (negatif) işaretliler için de
//geçerli (sonuç = 0,456)
Y:= IntToStr(Round(1.5)); // ,5 den ,9 e kadar tam sayı kısmına 1 ekler. Sonuç = 2
//Round(1.4) olsaydı Sonuç = 1 olacaktı. - (negatif) işaretliler için de geçerli
ShowMessage('Z = ' + Z +#10+ 'R = ' + FloatToStr(R) +#10+ 'S = ' + FloatToStr(S)
+#10+ 'Y = ' + Y +#10+ 'Pi = ' + FloatToStr(Pi));
//Real sayılar için FloatToStr(RealSayı) çevrimini kullanınız, Pi de bir Real sayıdır.
Not: Eklenecek o kadar çok fonksiyon var ki
Ancak, unutmayınız ki, sizin için en iyi yardımcı kullandığınız programın
Yardım(Help) dosyasıdır. Hemen hemen *.exe dosyanın yarısı kapasitesinde
*.hlp / *.html dosya hazırlanır. Lütfen, klavyenizden şu F1(Yardım) tuşuna
basmayı ihmal etmeyiniz ve naçizane tavsiyem, yazdığınız programlarda da F1 tuşuna
yardım dosyanızdan başka kısayol tanımlamayınız. F1 --> Kayıt demeyiniz. F1 zaten
Windows'un standart kısayol tuşudur. Windows ile zıtlaşmaya hiç gerek yok )
Hatta, F1 DOS(DiskOperatingSystem - Disk İşletim Sistemi)'un da yardım dosyasını
çalıştırır(programlamada gözünü DOS'la açanlar çok iyi bilir).
F1'i Formula One ile karıştırmayınız.
procedure TForm1.HazirlaClick(Sender: TObject);
label 1;
var I: integer;
Dosya: string;
begin
ListBox1.Clear;
for I:= 0 to FileListBox1.Items.Count - 1 do
begin
Dosya:= FileListBox1.Items.Strings[i];
if Pos('.', Dosya) > 0 then //Nokta(. işareti) buluncaya kadar döngü
begin //devam eder.
Dosya:= Copy(Dosya, 1, Pos('.', Dosya) - 1); //Dosya'nın .işareti olan
//kısmına kadar kopyalar
//Örnek: deneme.exe (dosyanız) -> Copy('deneme.exe',1,Pos('.','deneme.exe')-1);
//Sonuç --> deneme olarak kalır. Bu durumda Copy fonksiyonu içindeki 1 başlangıç,
//Pos('.','deneme.exe')-1 ise, .işaretininden 1 eksik karekter kadar demektir.
http://deneme.exe dosyasında 1 -> d harfi, Pos('.','deneme.exe')-1 -> . işaretinden
//bir önceki e harfidir. Eğer .exe kısmını atarsak deneme 6 karekterlidir.
//Copy('deneme', 1, 6) anlamına gelir. Pos('.','deneme.exe')-1 -> 6 reel sayısını
//döndürür. Sonuç -> deneme
//Dosya:= 'Deneme.Exe';
//Copy(Dosya,Pos('.', Dosya)+1,Length(Dosya)); şeklindeki bir ifade ise;
http://Deneme.Exe isimli dosyanın sadece " Exe " kısmını döndürür. Sonuç -> Exe
if Pos('.', Dosya) = 0 then GoTo 1; //başka .işareti bulamazsa döngü
end; //sonlanır ve Label 1 olarak tanımlı
end; //satıra gider (GoTo 1). Bu şartsız
//gidiştir. Başka yere gitme şansı yok
1://
Hazirla.Enabled:= False;
Aktar.Enabled:= True;
end;
//
*Bu kodlama, DosyaAdı ve DosyaUzantısı bulma ve ayırma işleminde kullanılabilir.
*Yukarıdaki satırlar, şuan piyasada FreeWare olarak çalışan fotoğraf stüdyoları için
yazdığım "Arşiv" programımda bulunmaktadır(ve tabii diğerlerinde de).
//Trunc, Int, Frac ve Round fonksiyonları
//Pi --> Pi sayısını verir ( 3,1415926535897932385 )
var
Z, Y: string;
R, S: real;
//
Z:= IntToStr(Trunc(1.4)); //kesirli kısmı atar. - (negatif) işaretliler için de
//geçerli (sonuç = 1)
R:= Int(123.456); //kesirli kısmı atar. - (negatif) işaretliler için de
//geçerli (sonuç = 123)
S:= Frac(123.456); //tam sayı kısmını atar. - (negatif) işaretliler için de
//geçerli (sonuç = 0,456)
Y:= IntToStr(Round(1.5)); // ,5 den ,9 e kadar tam sayı kısmına 1 ekler. Sonuç = 2
//Round(1.4) olsaydı Sonuç = 1 olacaktı. - (negatif) işaretliler için de geçerli
ShowMessage('Z = ' + Z +#10+ 'R = ' + FloatToStr(R) +#10+ 'S = ' + FloatToStr(S)
+#10+ 'Y = ' + Y +#10+ 'Pi = ' + FloatToStr(Pi));
//Real sayılar için FloatToStr(RealSayı) çevrimini kullanınız, Pi de bir Real sayıdır.
Not: Eklenecek o kadar çok fonksiyon var ki
Ancak, unutmayınız ki, sizin için en iyi yardımcı kullandığınız programın
Yardım(Help) dosyasıdır. Hemen hemen *.exe dosyanın yarısı kapasitesinde
*.hlp / *.html dosya hazırlanır. Lütfen, klavyenizden şu F1(Yardım) tuşuna
basmayı ihmal etmeyiniz ve naçizane tavsiyem, yazdığınız programlarda da F1 tuşuna
yardım dosyanızdan başka kısayol tanımlamayınız. F1 --> Kayıt demeyiniz. F1 zaten
Windows'un standart kısayol tuşudur. Windows ile zıtlaşmaya hiç gerek yok )
Hatta, F1 DOS(DiskOperatingSystem - Disk İşletim Sistemi)'un da yardım dosyasını
çalıştırır(programlamada gözünü DOS'la açanlar çok iyi bilir).
F1'i Formula One ile karıştırmayınız.
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz