6 Şubat 2016 Cumartesi

LiveBindings Designer ile TLinkPropertyToField bağlantısını kullanarak CustomFormat özelliğini kullanmak

Nasıl bir başlık oldu bilmem ama ben çok aradım bu kelimelerle nette çözüm bulmak için doğru dürüst kaynak yok birkaç yerde rastladım o da benim aradığım datetime ile ilgili değildi.

Neyse diyelim ki veritabanınız hazır field'lerden biri date olsun. Bunu istediğiniz formatta örneğin 'dd mmmm yyyy' gibi yazdırmak istiyorsunuz. Önceki sürümlerde ne uğraşırdık (Delphi 3 ten başlamış biri olarak. XE3 değil sadece 3). Şimdi Livebindings designer var.




Benim veritabanında Tarih ve Teklif adlı alanlardaki dataları lTarih ve Memo1 nesnelerine aktarım için livebindings designer şemasını görmektesiniz. BindsourceDB2'deki Tarih'e tıklayıp sürükleyerek lTarih'in Text'ine bağlıyoruz. Yani Veritabanımızdaki Tarih adlı alandaki veri lTarih adlı objemizin Text özelliğine aktarılacak.

Programı çalıştırıp da baktığımızda lTarih (TLabel) objesinin Text özelliğine 03.02.2016 gibi yazıldığını farkedeceksiniz. (ya da benzeri). İstediğim formatta bu nasıl aktarılacak peki?

BindSourceDB2 ile lTarih arasındaki bağlantı okuna tıklarsanız, object inspector'de göreceğiniz aşağıdakine benzer birşey olacaktır. CustomFormat özelliği boş olmak üzere tabiiki.



CustomFormat özelliğine şekildeki gibi istediğimiz formatta tarih yazdırabilmek için şunu yazıyoruz:

FormatDateTime('dd mmmm yyyy', (StrToDateTime(%s))

%s bizim normal basılan tarih text'timiz olmakta. Bunu ilk etapta datetime'a çevirip sonra formatdatettime fonksiyonunu çağırıyoruz. Bu metodlar nerede sadece bu formatdatetime ve strToDateTime mı var diyebilirsiniz. tabiiki hayır.

Bu linkte: http://docwiki.embarcadero.com/RADStudio/XE6/en/Default_LiveBindings_Methods

Sonuç resim aşağıda kod yazmadan livebindings designer ile işi kolay yoldan hallettik :)



Hiç yorum yok:

Yorum Gönder