4 Mayıs 2013 Cumartesi

Delphide Dinamik nesneler oluşturma. (create dynamical components with Delphi)

Evet delphide dinamik nesne oluşturabiliriz. Bu nesneler Tbutton, Tpanel, Tedit,  Tlabel, Tform vs. sınıflarına ait olabilir.Dinamik olusturmak demek nesneyi runtime(yani program çalıştıktan sonra) anında oluşturmaktır. Bunu da kodla yaparız. Butonu yukardan secip form üzerine bırakmak daha kolay ama dinamik olarak bir anda birçok nesne olusturabilir bunlara farklı özellikler yukleyebiliriz.
Öncelikle Delphide bir değişken nasıl tanımlanır ?

var
DegıskenIsmı : DegiskenTıpı;

şeklinde değişken tanımlanır; Örnek verecek olursak. sayac adında bir tamsayı(integer) degişken tanımlayalım.

var
sayac:integer; 

şeklinde tanımlarız. Dinamik nesne olusturmaya gelirsek; o da benzerdir ve şu şekilde tanımlanır:

var
nesneısmı:NesneSınıfı;

şeklinde tanımlanır. Örneğin butonum isminde dinamik bir buton oluşturalım:

var
butonum:Tbutton;  Bitti mi? Hayır. Bu butonun özellikleri de girilmelidir. 

Bir butonun temel özellikler:
1-) X koordinatı (left)
2-)Y koordinatı(top)
3-)Bu butonun sahibi. yani bu butonun görüneceği yer.(parent)
4-)Eni (width)
5-)Boyu(height) bu özellikler girip butonumuzu oluşturalım(CREATE).
6-)İsmi(Caption)
var
butonum:Tbutton;
butonum:=Tbutton.create(self); // Tbutton sınıfından butonum nesnesini olustur;
butonum.top:=100;  // butonum un Y koordinatı 100 olsun
butonum.left:=100;// butonum un X koordinatı 100 olsun
butonum.height:=25; // butonumun boyu 25 olsun
butonum.width:=100; // butonumun eni 100 olsun.
butonum.parent:=(form1);// butonum form1 üzerinde oluşsun.
butonum.caption:='butonum';


evet butonumz belirtilen koordinatta,form1 üzerine oluştu.  Şimdi tam kodları verip programın ekran çıktısına göz atalım....
Önce form üzerine bir buton sürükleyip. Form1.onclick procedure sine aşagıdaki kodları yazalım.

procedure TForm1.Button1Click(Sender: TObject);
var
butonum:Tbutton;
begin
butonum:=Tbutton.create(self); // Tbutton sınıfından butonum nesnesini olustur;
butonum.top:=100;  // butonum un Y koordinatı 100 olsun
butonum.left:=100;// butonum un X koordinatı 100 olsun
butonum.height:=25; // butonumun boyu 25 olsun
butonum.width:=100; // butonumun eni 100 olsun.
butonum.parent:=(form1);// butonum form1 üzerinde oluşsun.
butonum.Caption:='butonum';
end;


Şimdi sürüklediğimiz button1 e tıklayalım.


Ve belirtiğimiz koordinatlara belirttiğimiz özellikte butonum isimli nesnemizi(butonumuzu) oluşturduk. Daha sonra görüşmek dileğiyle...

Hiç yorum yok:

Yorum Gönder