property hakkında

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zambak
Üye
Mesajlar: 8
Kayıt: 21 Eki 2006 02:05

property hakkında

Mesaj gönderen zambak »

İyi günler...
property özelliğinde read write deyimlerini az da olsa
anladım.Sorum bu deyimlerden sonra gelen store,default ne anlama geliyor.Bir örnekle acıklarmısınız.Teşekkürler....
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Mrb; Benim anladığım her ikisininde .dfm kaydı ile alakalı eğer bir bleşende

Kod: Tümünü seç

property a:integer read b write b stored false;
örneğindeki gibi bir özellik tanımlanmışsa a değeri ne olursa olsun .dfm dosyasına yazılmayacaktır. Aynı mantıkla stored -> True olursa değer ne olursa olsun .dfm ye kayıt edilecektir. Default için ise

Kod: Tümünü seç

property x:integer read b write b default 5;
örneğini kullanırsak bu değer 5 iken .dfm ye kayıt edilmez ama harici tüm değerlerde bu özellik değeri .dfm dosyasına kayıt edilecektir. Tabi bu değeri Create anında 5 yapmayı da ihmal etmemek gerekir. Çünkü kendisi bu değeri otomatik olarak almayacaktır. Birde

Kod: Tümünü seç

 property Strings[Index: Integer]: string read Get write Put; default;
şeklinde kullanımı vardır (Örnek:TStrings). Bunun da işlevi TStrings bir sınıfın dizi tipli bir özelliğinden değer okurken varsayılan olarak o özelliğin kullanılacağını ifade eder. Yani ListBox1.Items[1] ile ListBox1.Items.Strings[1] aynı işlevdedirler. Burada Strings özelliği default özelliktir ve ListBox1.Items[1] kodu direk ListBox1.Items nesnesindeki (TStrings sınıfı olduğu için) Strings özelliğini çalıştırır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

@sabanakman ,
Konuyla pek alakl? de?il ama yazd???n?z örnekte Dizi tipli bir property tan?mlama örne?i vermi?siniz demekki böyle bir ?ey yap?labiliyor, fakat çal??mamda sizinkine benzer a?a??daki gibi bir property tan?mlad???m,

Kod: Tümünü seç

property Taksit[Index :Integer]:TTaksit read GetTaksitler write SetTaksitler;
Bana Taksit property si Array olamaz dedi, acaba benim TTaksit tipindemi bir sorun var dedim String le denedim ondada ayn? ?eyi dedi, bu özellik array olamaz dedi, çözümü nedir acaba?
Volkan KAMADAN
www.polisoft.com.tr
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Bana Taksit property si Array olamaz dedi, acaba benim TTaksit tipindemi bir sorun var dedim String le denedim ondada ayn? ?eyi dedi, bu özellik array olamaz dedi, çözümü nedir acaba?
Published olarak tan?mlanamaz demi?tir. Siz onu public k?sm?na ta??y?n.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

@t-hex,
çok te?ekkürler, evet olu?turdu?um class görsel de?il zaten published olmas?na gerek yok public k?sma tan?mlay?nca oldu.
?yi çal??amalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Zaten published daha çok .dfm kayıtlarını ve object inspector da görünebilmesini ilgilendiriyor. Bu mantığa göre published özelliğe bunun yazılamaması da normaldir (özelliğin hangi sıradaki değere neyin yazılacağı cevabı olmayan bir soru). Public işinizi görecektir diyecektim ama işinizi halletmişsiniz bile :D .
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla