IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 07 Temmuz 2010, 23:14   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Intraweb FrameWork (Standart Bileşenler ve ilginç özellikleri-2)




TIWEdit

Hepimiz bir Edit denetiminin ne işe yaradığını gayet iyi biliyoruz TIWEdit nesnesi de normal
olarak bildiğimiz VCL TEdit nesnesi ile benzer amaçlar için kullanılır ve benzer özellikleri vardır bildiğimiz özelliklerin dışında birkaç anahtar özelliği var işte o özelliklere biraz değinelim istedim.

Required ,FriendlyName ,BGColor ve FocusColor özellikleri
Zaten bakınca hemen anlaşılıyor ne işe yaradığı ama biz yinede açıklayalım bu özellik, IW formumuz tarayıcı sayfasında render edildikten sonra herhangi bir işlem yapmaya çalıştığımızda örneğin bir button a tıkladığımızda eğer IW form üzerinde Required özelliği True olan bir IWEdit bileşeni varsa ve IWEdit in Text özelliği ( '' ) eşitse kısaca edit boşsa, içerisine herhangi bir veri girilmemişse Sunucu uygulamaya talep gitmeden tarayıcıda Editin boş olup olmadığına dair JavaScript kodlu bir doğrulama (validation) yapılacaktır, bu doğrulmayı yapan JS kodunu sunucu uygulama tasarım anı Edit in Required özelliğini True yaptığımızdan dolayı otomatik olarak formun HTML kodlarını üretirken kod içerisine ekler böylece talep sunucuya iletilmeden Edit in boş olup olmadığı kontrol edilmiş olacaktır.

Diyelim ki bir üye giriş formu tasarladık ve üye adı ve parolasının boş geçilmesini istemiyoruz, boş geçildiğinde uygulamamızın kullanıcıyı bu alanı boş geçemeyeceği konusunda uyarmasını istiyoruz, işte o noktada bu özelliğin esprisi ve gücü devreye giriyor.
Diyebilirsiniz ki bunu

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
If IWEdit1.TExt = '' then WebApplication.ShowMessage('Bu alan boş bırakılamaz');

Şeklinde bir kod ile halledebiliriz. Evet halledebiliriz ama bu bize tarayıcı ile sunucu arasında extra bir trafikten dolayı extra bir külfet getirecektir, oysa bu özellik sayesinde sunucuya hiçbir talepte bulunmadan bu denetimi yapabiliriz. Ne kadar hoş bir özellik değimli ?

Denetimi yapan JS kodu aşağıdaki gibi bir şey olacaktır

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
function Validate() { if(IWEDIT1IWCL != null && IWEDIT1IWCL.value.length==0) { ReleaseLock(); window.alert("IWEdit1 is a required field."); return false; } return true; }


Bu JS kodunun tek karakterini bile biz yazmadık IW bizim için bu iyiliği yaptı.

Şimdi bununla ilgili basit bir örnek yapıp test edelim;

Delphi IDE sinde File->New->Other..->Intraweb yolunu izleyerek yeni bir IW uygulaması oluşturalım ve form üzerine bir IWEdit birde IWButton koyalım, IWEdit i seçip ObjectInspector den Required özelliğini True olarak ayarlayalım. Başka hiçbir şey yapmamıza gerek yok formumuz yaklaşık olarak aşağıdaki gibi olacaktır.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Şimdi programı derleyip çalıştıralım ve tarayıcdaki sayafmıza bakalım durum aşağıdaki gibidir.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Bu durumdayken button a tıkladığımızda Button OnClick olayı için bir şey yazmadığımızdan herhangi bir tepki vermeyecektir dikkat ederseniz Edit içerisinde de "IWEDit1" yazıyor şimdi Editi temizleyip button a bir kez daha tıklayalım durum aşağıdaki gibi olacaktır.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Gördüğünüz gibi tarayıcı bir uyarı penceresi açtı ve “IWEdit1 is a required field” şeklinde bir uyarı verdi bu ne anlama geliyor? IW Edit boş olamaz bir veri girilmeli.

Buraya kadar tamam diyeceksiniz fakat bu uyarı mesajını özelleştirmek için ObjectInpector de herhangi bir özellik bulamadım ne yapmalıyım ? bunun da cevabı var tabi� ki program derlenirken derleyici IW in IWResourceStrings unit ine müraacat ederek ValidationRequeredField ResourceString inin değerini alır bu ResourceString IWResourceStrings unitinde aşağıdaki gibi tanımlanmıştır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
ValidationRequeredField = '%s is a required field.';

Siz bu ResourceString in değerini değiştirerek Required özelliği bulunan tüm IW bileşenlerinde ilgili alanın boş bırakılması durumunda verilecek uyarının metnini değiştirebilirsiniz.

Ayrıca bu Unit içerisindeki İngilizce olan tüm ResourceString leri değiştirip Türkçe bir sürümünü oluşturabilirsiniz.
Dikkat ederseniz ResourceString değerinde %s ile ifade edilen şey uyarı penceresinde IWEdit1 olarak gözükmekte burada maksadım Formatlı yazdırmayı öğretmek değil başka bir şeye dikkat çekmek, IW ile uğraşanların dikkatini çekmiştir IW bileşenlerinin FriendlyName diye bir özelliği vardır işte IW bu özelliği, bu gibi durumlarda kullanır yani bileşenin FriendlyName özelliğine girilen bilgi bu gibi uyarı pencerelerinde kullanıcıya daha açıklayıcı bilgi sunmak istediğimizde çok işe yarar şimdi bunu örneklendirelim.


Form üzerindeki IWEdit1 in FriendlyName özelliğine “Kullanıcı Adı Alanı” değerini giriyoruz,

Bu arada ben IWResourceStrings Unitindeki

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
ValidationRequeredField = '%s is a required field.';

Satırını

Alıntı:
ValidationRequeredField = '%s Boş Bırakılamaz.';

Olarak değiştirdim IW Paketini tekrar derledim ve kullanıma hazır hale getirdim Form üzerindeki IWEdit1 in FriendlyName özelliğini de “Kullanıcı Adı Alanı” olarak değiştirdiğime göre artık web uygulamamı derleyip sonucuna bakıyorum, durum aşağıdaki gibi oluyor.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Gördüğünüz gibi hem sunucuya talep bulunmadan hem tek satır kod yazmadan hemde Türkçe bir uyarı verdirerek Edit in boş bırakılmaması gerektiğini kullanıcıya bildirmiş olduk.

Birde TIWEdit in BGColor ve FocusColor olmak üzere iki farklı renk özelliği var bunlarda kısaca BGColor Edit in rengini belirleyebilirsiniz FocusColor ile de Editin içine girdiğiniz an almasını istediğiniz rengi seçebilirsiniz yani VCL de SetFocus olayı gerçekleşmesi ile aynı olay böylece görsel yönden zengin web uylulamaları geliştirebilirsiniz. Unutmadan FocusColor özelliğide istemci taraflı aşağıdakine benzer bir JS kodu ile kontrol edilir. bu kod da aşağıdakine benzer bir JS kodu olacaktır.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
var IWEDIT1IWCL = null; function IWEDIT1_onfocus() { this.style.backgroundColor='#A6CAF0'; return true;


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

__________________
Büyümeden yaşlandım ben.Hayat; ilk gördüğüm insanların,ilk gördüğüm gibi olmadıklarını öğretti.

Kahraman Tazeoğlu
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
bileşenler, framework, ilginc, standart, ve, özellikleri2


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Intraweb FrameWork (Standart Bileşenler ve ilginç özellikleri-1) Slipknot Delphi 0 07 Temmuz 2010 23:12
Intraweb FrameWork (Giriş) Slipknot Delphi 0 07 Temmuz 2010 23:09
IntraWeb FrameWork (JavaScript Kullanımı-4) Slipknot Delphi 0 07 Temmuz 2010 23:07
IntraWeb FrameWork (JavaScript Kullanımı-2) Slipknot Delphi 0 07 Temmuz 2010 23:00
Intraweb FrameWork (ServerController) Slipknot Delphi 0 07 Temmuz 2010 22:47