Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Delphi Değişkenler  (Okunma sayısı 3392 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı cakirr42

  • Administrator
  • *****
  • İleti: 1.068
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Ben Bana Kendim İçin Lazımım...
    • Ahmet Kürşat ÇAKIR
  • Delphi Sürümü: XE, XE2
Delphi Değişkenler
« : 16 Ocak 2010 16:59:16 »
Yine ilk makalelerimden birini yazıyorum tecrübesizlikten dolayı hata yaptıysam özür dilerim.
DEĞİŞKEN TANIMLAMA:

Delphide değişkenleri kullanmadan önce tanımlama mecburiyeti vardır. Bir değişken kullanılmadan önce  o değişkende nasıl bir bilginin tutulacağının belirlenmesi gerekir.

Değişken tanımlanırken şu kuralların göz önünde bulundurulması gerekir:

  • Değişken adları 63 karakter uzunluğunu geçmemelidir. Değişken adının 63 karakteri geçmesi halinde 63. karakterden sonraki kısımlar göz ardı edilir.
  • Değişken adları türkçe karakter içermemelidir. ya alfabetik (ingiliz alfabesi) harflerle yada "_" karakteriyle başlamalıdır.(A..Z,a..z),0..9 arası rakamlar veya "_" (Delphi 2010 daki unicode desteği sayesinde türkçe değişken isimleri kullanılabilir)
  • Değişken adları semboller içermemelidir. ($,*,% vb)
  • Delphi komutları değişken adı olarak kullanılmamalıdır. (Chr, not,IntToStr vs.)  
  • Bir değişken tanımlama işlemi değişken tanımlama bloğunda (var ile başlayan blok) yapılmalıdır.

 


DEĞİŞKENLER




Örnek verecek olursak;

Kod:  (Unknown Language)
  1. Var
  2. a,b : integer ;
  3.  
  4. i:integer ;
  5. aciklama ; string
  6. ;
  7. Medenihal :
  8. Boolean ;
  9. kesirli : real ;
  10.  


VERİ TİPLERİ

Veri tipleri bahsettiğim gibi değişken tanımlarken kullandığımız tiplerdir.Veri tipleri tamsayı,reel sayı tipleri karakter
tipleri Boolen ve String tipleri olarak 6 tipde incelenir.Bu veri tiplerini inceleyecek olursak;

TAMSAYI TİPLERİ
• Shortint
(-128)-(+128) arasında değer alabilen tam sayı tipli bir değişkendir. Eğer bu
değerlerin dışında bir sayı aktarılmaya çalışılırsa taşma (owerflow) hatası
verecektir. Bu değişken bellekte 1 Byte (8 bit) lik yer işgal eder.
Kod:  (Unknown Language)
  1. Var
  2. Yas:Shortint; //Sadece -128 ile 128 arasında değer atanabilir.
• Smallint
(-32768)-(+32768) arasında tam sayı değeri atanabilen değişken tipidir.
Bellekte 2 Byte (16 bit) lık yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Smallint; //Sadece -32768 ile 32768 arasında tam sayı değeri atanabilir
• Longint
(-2147483648)-(+2147483647) arasında tam sayı değerleri alabilen bir değişken
tipidir. Bellekte 4 Byte (32 bit) yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Longint; //Sadece -2147483648 ile 2147483648 arasında değer atanabilir.
• Integer
(-2147483648)-(+2147483647) arasında tam sayı değerleri alabilen bir değişken
tipidir. Bellekte 4 Byte (32 bit) yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Integer; //Sadece -2147483648 ile 2147483648 arasında değer atanabilir.
• Int64
(-2^63)-(2^63-1) arasında tam sayı değeri atanabilen değişken tipidir. Bellekte 8
Byte (64 bit) yer işgal edilecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Int64; //Sadece -2^63 ile 2^63 arasında değer atanabilir.
• Byte
0-255 arasında pozitif tam sayı değeri alabilen değişken tipidir. Bellekte 1 Byte
(8 bit) lık yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Byte; //Sadece 0-255 arası pozitif tam sayı değeri alabilir.
• Word
0-65535 arası pozitif değer alabilen değişken tipidir. Bellekte 2 Byte (8 bit) lık
yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Word; //Sadece 0-65535 arası değer atanabilir.
• Longword
0-4294967295 arası pozitif değer atanabilen değişken tipidir. Bellekte 4 Byte
(32bit) lık yer işgal edilecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Longword; //Sadece 0-4294967295 arası değer atanabilen değişken tipidir.
• Cardinal
0-4294967295 arası pozitif değer atanabilen değişken tipidir. Bellekte 4 Byte
(32bit) lık yer işgal edilecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Cardinal; //Sadece 0-4294967295 arası değer atanabilen değişken tipidir.

Bu tiplere, alabileceği değer sınırları dışında bir değer ataması direkt olarak yapılamaz. Atama yapılmaya çalışıldığı durumlarda aşağıdaki hata mesajı çıkar.
Constant expression violates subrange bounds

REEL SAYI TİPLERİ
• Real48
(+-2.9*10^-39) ve (+-1.7*10^38) arasında değer alabilen reel sayı tipidir.
Ondalıklı kısımdan 11-12 dijite kadar hassas çalışabilir. Bellekte 6 Byte (48 bit)
yer işgal etmektedir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Real48; //Sadece yukarıdaki sınırlar içerisinde değer alabilir.
• Single
(+-1.5 x 10^-45) ve (+-3.4 x 10^38) arasında değer alabilen reel sayı tipidir.
Ondalıklı kısımdan 7-8 dijit hassasiyetiyle işlem yapabilir, ve bellekte 4 Byte
(32 bit) lık yer işgal eder.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Single; //Sadece yukarıda belirtilen sınırlar içerisinde değer alabilir.
• Double
(+-5.0 x 10^-324) ve (+-1.7 x 10^308) arasında değer alabilen reel sayı tipidir.
Ondalıklı kısımdan 15-16 dijite kadar hassasiyetle işlem yapabilmektedir.
Ayrıca bellekte bu değişken 8 Byte (64 bit) lık yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Double; //Sadece yukarıda belirtilen sınırlar içerisinde değer alabilir
.
• Real
(5.0 x 10^-324) ile (1.7 x 10^308) arasında değer saklayabilen reel sayı tipidir.
Bellekte 8 Byte (64 bit) lık yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Real; //Sadece yukarıdaki sınırlar arasında değer alabilir.
32
• Extended
(+-3.6 x 10^-4951) ve (+-1.1 x 10^4932) arasında değer alabilen reel sayı
değişken tipidir. Ondalıklı kısımdan 19-20 dijite kadar hassasiyetle işlem
yapabilir. Ayrıca bellekte 10 Byte (80 bit) lık yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Extended; //Sadece yukarıda belirtilen sınırlar içerisinde değer alabilir
• Comp
(-2^63+1) ile( 2^63 -1) değer alabilen değişken tipidir. Ondalıklı kısımda 19-20
dijit hassasiyeti ile değer saklayabilir. Ayrıca bellekte 8 Byte (64 bit) lik yer
işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Sayi:Comp; //Sadece yukarıda belirtilen sınırlar içerisinde değer alabilir.
• Currency
Parasal veriler için kullanılabilen bu değişken tipi (-922337203685477.5808)
(922337203685477.5807) arasında değer alabilen 19-20 dijitlik bir değişken
tipidir (Ondalıklı kısımdan 4 basamak hassasiyetiyle çalışır). Ayrıca bellekte 8
Byte (64 bit) lik yer işgal edecektir.
Kod:  (Unknown Language)
  1. Var
  2. Para:Currency; //Ondalıklı kısımdan sadece 4 basamak tutar.
Değişkenlerinizi en ekonomik tipte tanımlamanız, size daha hızlı sonuca
ulaşabilme özelliği kazandıracaktır. Bu yüzden değişken tanımlarken nasıl olsa
Extended hepsini kapsıyor, bu tip tanımlayıp işlemlerimi yaptırayım
düşüncesinden her zaman uzak durmalısınız. Bir adamın yaşını aktaracağınız
değişkeni Double tanımlamanız sanıyorum size de fazla mantıklı gelmeyecektir.
Bu kısma kadar olan değişkenlerin hepsi sayısal içerikliydi, buradan sonraki
kısımda ise sayısal içeriği olmayan diğer değişkenler incelemeye alınacaktır.

BOOLEAN TİPİ
Bir değişkeniniz sadece true veya false değerlerini alacaksa bu durumda
değişkeninizi Boolean tip tanımlamalısınız. Bu tip değişkenlerde üçüncü bir
durum söz konusu değildir. Ayrıca değişken tanımlandığı anda varsayılan değeri
false dır.
Kod:  (Unknown Language)
  1. Var
  2. Sonuc:Boolean; //true veya false değerini alabilir.

KARAKTER TİPLERİ
  • Char
  • AnsiChar
  • WideChar

STRİNG TİPLERİ
Bu bölümde karakter işlemlerinde kullanabileceğiniz değişken tiplerinden
bahsedeceğim. Matematiksel ve Tarihsel içeriği olmayan değerleri tutmak için
kullanılan tiplerdir.
• ShortString
255 Kraktere kadar veri alabilen string değişken tipidir.
Bu tipteki değişkene (‘’) içerisinde bilgi aktarıldığına dikkat ediniz.
• AnsiString
Yaklaşık olarak 2^31 karaktere kadar değer atanabilen (en çok kullanacağınız)
ve Ansi karakter desteği olan bir değişken tipidir. Kullanımı ShortString
değişkeniyle aynıdır.
• WideString
Yaklaşık olarak 2^31 karaktere kadar (Unicode) değer atanabilen değişken
tipidir.
Kod:  (Unknown Language)
  1. Var
  2. Ad:WideString; //String değişken tanımlandı
String tipte değer alacak olan değişkenlerinizi yukarıdaki üç tipten birtanesiyle
tanımlayabilirsiniz.
DEĞİŞKEN TANIMLAMA ÇEŞİTLERİ
TARİHSEL İÇERİKLİ DEĞİŞKEN
Delphi içerisinde tarih bilgisi içeren değerleri tutabilecek olan değişkenler,
TDate class’ından türetilerek kullanılabilir. Aşağıda bu husus
örneklendirilmiştir.
Kod:  (Unknown Language)
  1. Var
  2. ilktarih,sontarih:TDate //tarih değişkenler tanımlandı
  3. Fark:Extended ;
  4. Begin
  5. ilktarih:=strtodate(edit1.text); // değer atandı
  6. sontarih:=strtodate(edit2.text);
  7. fark:=sontarih-ilktarih;//iki tarih arasındaki fark
  8. form1.caption:=floattostr(fark): //fark yazdırılıyor
  9. End;
  10.  
Burada tarihsel değişken olarak kullanılan iki değişken aşağıdaki şekilde
tanımlanmıştır.
Kod:  (Unknown Language)
  1. Var
  2. İlktarih,sontarih:TDate; //Tarihsel değişkenler tanımlanıyor.
Daha sonra bu iki değişkene tip dönüştürme işlemi uygulanarak EditBox
kontrollerinden değer atanmıştır. Son olarak iki tarih arasındaki fark hesaplanıp
başlıkta yazdırılmıştır.

SABİT DEĞİŞKEN
Bazı durumlarda değeri hiç değişmeyen sabit bir değişken tanımlamak
isteyebilirsiniz. Mesela matematikteki pi sayısı veya logaritmada kullanılan e
sayısı gibi, işte bu tip değişkenleri özel bir bildirimle yapmalısınız. Aşağıda bu
husus örneklendirilmiştir.
Kod:  (Unknown Language)
  1. const// var la değil
  2. pi:Double=3,14 // değer atanması zorunludur
  3. var
  4. ycap:integer;
  5. alan:double;
  6. begin
  7. ycap:=strtoint(edit1.text) //değişkene değer atanıyor
  8. alan:=pi*ycap*ycap;//alanı hesapla
  9. form1.caption:='Dairenin Alanı = ' +floattostr(alan);
  10. end;
  11.  
Const’la tanımlamış olduğunuz değişkenin değerini procedure içerisinde
değiştiremezsiniz (Özel birim ile yapabilirsiniz).

LOCAL STATİC DEĞİŞKEN
Procedure içerisinde (Global değişken olabilmesi için özel tanımlama blokları
mevcuttur, daha sonraki kısımlarda incelenecektir.) tanımlanan bir değişken,
kod işletildiği anda bellekte yaratılır, kodun tamamı işletildikten sonra da
bellekten atılır. Procedure’ü ikinci kez tekrar işlettiğiniz zaman aynı işlemler
tekrarlanacaktır. Bu durumda şöyle bir problemle karşı karşıya kalırız.
Procedure’ü ilk işlettiğimiz zaman değişkenimize en son atanan değeri, ikinci
işleteceğimiz zaman kullanmak istersek (Yani değişkenin en son aldığı değeri
bir sonraki çağrılmada hatırlamak istersek) ne yapabiliriz? Cevabı çok basit, o
değişkeni static olarak tanımlarsınız. Local bir değişkenin static olarak
tanımlanması, o procedure’ü ikinci kez (veya daha fazla) işlettiğiniz zaman
önceki tur bulduğu değeri kullanmasını sağlayacaktır. Bu olay bir çok durumda
işinize tahmininizden daha fazla yarayacaktır.
Aşağıda bu husus örneklendirilmiştir.

Formunuza bir adet button kontrolü ekleyip aşağıdaki kodu Clik Yordamına
yazın. Projeyi çalıştırdıktan sonra arka arkaya buttona tıklayın, formun
başlığındaki metne dikkat ederseniz en son bırakılan değerlerin bir sonraki
procedure işletilmesi sırasında hatırlandığını göreceksiniz.
Kod:  (Unknown Language)
  1. {$j+} // bu satır static değişken tanımlamak için gerekli
  2. procedure tForm1.button16click (sender: tObject);
  3. const
  4. toplam:integer=0 ;
  5. deger:integer=1 ;
  6. begin
  7. toplam:=toplam+deger;// önceki toplama ekle
  8. form1.caption:=inttostr(deger)+ //altsatıra inebilirsiniz
  9. 'e kadar olan sayıların toplamı = ' + inttostr(toplam) + 'eder' ;
  10. deger:=deger+1 // degeri bir arttır
  11. end;
  12.  
Pencerede kullanılan {$j+} satırı, Const ile tanımlanan sabit değişkenin
değerinin procedure içerisinde yeniden atanabilmesi (değiştirilebilmesi) için
gerekli olan bir kod parçasıdır. Bu satırı eklemezseniz, Delphi size Const ile
tanımlanan bir değişkenin değerini değiştiremeyeceğinize dair hata mesajı
iletecektir. Hatırlatalım bu satırı procedure içerisinde de tanımlayabilirsiniz
(Ama Const tan sonra bildirmeniz anlamsız olacaktır).
Kod:  (Unknown Language)
  1. procedure tForm1.button16click (sender: tObject);
  2. {$j+}
  3. const
  4. toplam:integer=0 ;
  5. deger:integer=1 ;
  6. begin
  7. toplam:=toplam+deger;// önceki toplama ekle
  8. form1.caption:=inttostr(deger)+ //altsatıra inebilirsiniz
  9. 'e kadar olan sayıların toplamı = ' + inttostr(toplam) + 'eder' ;
  10. deger:=deger+1 // degeri bir arttır
  11. end;
  12.  
TÜM ALT YORDAMLAR TARAFINDAN KULLANILABİLEN DEĞİŞKEN
Sanıyorum hepiniz biliyorsunuz, bu işleme global değişken tanımlama adını
veriyoruz. Bu olayı örneklendirecek olursak; birinci buttona tıkladığınız zaman
değişkene atadığınız değeri, ikinci buttona tıkladığınız zaman kullanmak
isterseniz o değişkeni global olarak tanımlamalısınız. Aşağıdaki Delphi Unit’i
içerisinde global değişkenleri nasıl tanımlayabileceğiniz örneklendirilmiştir.
Formunuzun üzerine iki adet button kontrolü ekleyip, aşağıdaki kodları da
gerekli olan yordamlara yazınız.
Kod:  (Unknown Language)
  1. implemetation
  2. {$R *.dfm}
  3. var
  4. deger:integer ; // tüm alt yordamlar tarafından kullanılabilir.
  5. procedure tForm1.button1click (sender: tObject);
  6. begin
  7. deger:=deger+10 ; // 10 sayı ekle
  8. form1.caption:=inttostr(deger); //başlıkta yaz
  9. end;
  10. procedure tForm1.button2click (sender: tObject);
  11. begin
  12. deger:=deger+3 ;
  13. form1.caption:=inttostr(deger); //başlıkta yaz
  14. end;
  15.  
Görüldüğü gibi iki procedure’de aynı “deger” isimli değişkeni kolaylıkla
kullanabilmektedir. Global değişkenler procedure’ün işletilmesi bittiği anda
bellekten atılmadıkları için, bir procedure’ün sonundaki değişkenin değeri diğer
procedure içerisinde hatırlanabilmektedir.
Şimdi uygulamanızı çalıştırıp her iki buttona tıklayın, değişkenin değerinin
hatırlandığı sanıyorum dikkatinizi çekecektir. Burada şunu sorabilirsiniz neden
bütün değişkenleri burada tanımlamıyoruz? Cevabı son derece basittir. Birincisi
bu değişkenler bellekte devamlı yer işgal edeceklerinden performansı
etkileyeceklerdir. İkincisi ise hangi değişkenin hangi procedur’ler için
tanımlandığı büyük uygulamalar için karmaşa yaratacaktır. Bu sebeplerden
dolayı önceliği hep local değişken tanımlamaya veriniz.

Global değişken tanımlamak için Delphi size başka bir blok daha sunmaktadır.
Dilerseniz Sadece o Unit içerisinde kullanmak üzere değişkeninizi Private
Declarations kısmında tanımlayabilirsiniz. Eğer global değişkeninizi bu blokta
tanımlayacaksanız, o zaman var veya const bildirisini kullanamazsınız.
Kod:  (Unknown Language)
  1. type
  2.     TForm1 = class(TForm)
  3.     Button1: TButton;
  4.     Button2: TButton;
  5.     procedure Button1Click(Sender: TObject);
  6.     procedure Button2Click(Sender: TObject);
  7.   private
  8. // global değişken burada tanımlanabilir
  9. deger:integer; // tüm alt yordamlar tarafından kullanılabilir
  10.     { Private declarations }
  11.   public
  12.     { Public declarations }
  13.   end;
Yukarıdaki pencereye dikkat edecek olursanız “deger” isimli değişken Unit in
Private Declarations kısmında tanımlanmış olup, tüm alt procedure lerin
kullanımına sunulmuştur. Formunuza iki adet button ekleyin, aşağıdaki kodları
da gerekli olan yerlere yazıp projenizi tekrar çalıştırınız.
Kod:  (Unknown Language)
  1. procedure tForm1.button1click (sender: tObject);
  2. begin
  3. form1.caption:=deger; //başlıkta yaz
  4. deger:='Ahmet Kürşat ÇAKIR' ;
  5. end;
  6. procedure tForm1.button2click (sender: tObject);
  7. begin
  8. form1.caption:=deger; //başlıkta yaz
  9. deger:='Ali YEŞİLOĞLU' ;
  10. end;
  11.  

Şimdi iki buttona arka arkaya tıklayıp sonucu görebilirsiniz.

TÜM FORMLAR TARAFINDAN KULLANILABİLECEK DEĞİŞKEN
Bazı durumlarda birinci formda tanımlamış olduğunuz bir değişkenin en son
değerini ikinci forma ait herhangi bir prosedürde kullanmak isteyebilirsiniz. Bu
tip durumlarda aşağıdaki yöntemi uygulamalısınız.
Kod:  (Unknown Language)
  1. //Form1 e ait Unit1
  2. type
  3. TForm1 = class(TForm)
  4. Button1: TButton;
  5. procedure Button1Click(Sender: TObject);
  6. procedure FormCreate(Sender: TObject);
  7. private
  8. { Private declarations }
  9. public
  10. { Public declarations }
  11. end;
  12. var
  13. Form1: TForm1;
  14. var
  15. x:Integer;//İkinci form bu değişkeni kullanabilir
  16. implementation
  17. uses Unit2;//Eklemeyi unutmayınız
  18. {$R *.dfm}
  19. procedure TForm1.Button1Click(Sender: TObject);
  20. begin
  21. form2.show;//Form2 yi aç
  22. end;
  23. procedure TForm1.FormCreate(Sender: TObject);
  24. begin
  25. x:=155;
  26. end;
Aşağıdaki kod bloğunu da ikinci forma ekleyiniz.
Kod:  (Unknown Language)
  1. uses
  2. Windows, Messages, SysUtils, Variants,
  3. Classes, Graphics, Controls, Forms,Dialogs,
  4. Unit1;//Eklemeyi Unutmayınız.
  5.  
  6. procedure TForm2.FormCreate(Sender: TObject);
  7. begin
  8. Form2.Caption:=IntToStr(x);//155 yazar
  9. end;
Programı çalıştırıp Button kontrolüne tıklarsanız Form2 niz açılacaktır. Bu
aşamada başlığa dikkat ederseniz “155” değerinin yazdığını görürsünüz.

DİZİLER

Dizi tanımı Var bloğunda şöyle yapılır;
Kod:  (Unknown Language)
  1. Var
  2. Diziadi:array[altsınır..üstsınır]of tip
  3.  

İki boyutlu dizi ise şöyledir;

Kod:  (Unknown Language)
  1. Diziadı:array[altsınır..üstsınır1,altsınır2..üstsınır2]of tip
  2.  

Örnek;

Kod:  (Unknown Language)
  1. Var
  2. a:array[1..50]of integer;
  3.  


sizlere değişkenler konusundaki bildiğim herşeyi bu makalemde paylaştım umarım faydalı olmuştur...
« Son Düzenleme: 17 Ocak 2010 12:06:09 by cakirr42 »
http://akcakir.net/
Dalından Kopan Yaprağın Akıbetini Rüzgar Tayin Eder
"Alparslan TÜRKEŞ"

Çevrimdışı cakirr42

  • Administrator
  • *****
  • İleti: 1.068
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Ben Bana Kendim İçin Lazımım...
    • Ahmet Kürşat ÇAKIR
  • Delphi Sürümü: XE, XE2
Ynt: Delphi Değişkenler
« Yanıtla #1 : 16 Ocak 2010 17:00:39 »
Umarım Faydalı Olmusumdur...
http://akcakir.net/
Dalından Kopan Yaprağın Akıbetini Rüzgar Tayin Eder
"Alparslan TÜRKEŞ"

Çevrimdışı barutali

  • Administrator
  • *****
  • İleti: 2.228
  • Rep: +54/-0
  • Cinsiyet: Bay
  • Falan filan ...
  • Delphi Sürümü: 2010 - XE2
Ynt: Delphi Değişkenler
« Yanıtla #2 : 17 Ocak 2010 06:05:58 »
"# Değişken adları türkçe karakter içermemelidir. ya alfabetik (ingiliz alfabesi) harflerle yada "_" karakteriyle başlamalıdır.(A..Z,a..z),0..9 arası rakamlar veya "_" "

bu cümleni düzeltmen gerekecek ... 2009 da varmı bilmiyorum ama delphi 2010 da unicode desteği sayesinde türkçe değişken isimleri procedure nesne function ismi kullanabiliyorsunuz ...
« Son Düzenleme: 17 Ocak 2010 06:09:42 by barutali »



Amatör Küme Programcı

Çevrimdışı cakirr42

  • Administrator
  • *****
  • İleti: 1.068
  • Rep: +5/-0
  • Cinsiyet: Bay
  • Ben Bana Kendim İçin Lazımım...
    • Ahmet Kürşat ÇAKIR
  • Delphi Sürümü: XE, XE2
Ynt: Delphi Değişkenler
« Yanıtla #3 : 17 Ocak 2010 10:45:05 »
valla abi ben bunu kendi delphime göre yaptım delphi 7 kitabından öğrendim bu bilgileri. ben oraya not bırakırım d2010 için ;)
http://akcakir.net/
Dalından Kopan Yaprağın Akıbetini Rüzgar Tayin Eder
"Alparslan TÜRKEŞ"