Bileşen Özelliklerine İsmiyle Erişmek

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Bileşen Özelliklerine İsmiyle Erişmek

Mesaj gönderen vkamadan »

Merhaba ,
Arkadaşlar Marco Cantu nun Mastering Delphi7 adlı kitabında gözüme çarpan ve oldukça dikkatimi çeken Yayınlanmış Bileşen Özelliklerine İsimlerini String Parametre geçerek ulaşma mevzusunu kitabı olmayan olupta farketmeyen arkadaşlarım için burada yayınlamayı düşündüm.
olay PHP den hatırlayacaığımız Değişken Değişkenler olayını andırıyor.

Anahtar Metodumuzun adı , function GetPropValue (Nesne : TObject ; Özellik:String):Variant

kullanımı son derece basit

Kod: Tümünü seç

ShowMessage (GetPropValue (Edit1 , 'Text') );
Edit1 nesnesinin Text özelliğini bu şekilde elde edebildik, yani Bileşen özelliklerini çalışma zamanında String değişkenlerle erişime olanak tanınmış oluyor. Ayrınca hatalara sebebiyet vermemek için Çağrılan özelliğin bileşende var olup olmdığının testi için function IsPublishedProp (Nesne : TObject ; Özellik:String):Boolean fonksiyonunu kullanabilirsiniz şöyle bir örneğimiz olsun form üzerinde bulunana TButton nesnesinin Edit1.text özelliğine yazılmış özelliğinin değerini almak için kontrollü bir yordamı aşağıdkine benzer bir kalıpta uygulayabiliriz.

Kod: Tümünü seç

 if IsPublishedProp (Button1 , Edit1.Text) then
  ShowMessage ( GetPropValue(Button1,Edit1.Text)) else
  ShowMessage('Çağrılan Özellik Bulunamadı..!');

NOT : Bu özellik doğrudan çağrılara göre (örneğin Button1.Caption gibi) çok daha yavaş çalışırmış.

İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla