Memik Yanık - Kişisel Web Sitesi Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS RSS | İletişim

Delphi'nin Maskedit Kontrolü


Yanılmıyorsam ilk Türkçe Delphi kitabını yazma şerefi bana ait. Bu tahmini yaptıktan sonra buraya Delphi’in Maskedit kontrolü hakkında birkaç cümle yazacağım. Geçen gün yaptığım incelemede ilk Delphi kitabımda ve daha sonra yayınlanan Delphi kitaplarımda olmak üzere Maskedit kontrolü hakkında 2 sayfada standart bilgileri vermekle yetindiğimi ve kod yazarak Maskedit nesnesi için nasıl maske hazırlandığını atladığımı fark ettim. Benzer araştırmayı bendeki Delphi konulu başka kitaplarda yaptım. Sanki bütün Delphi kitabı yazarları anlaşmış gibi Maskedit nesnesinin ve Maskenin kod yazılarak nasıl hazırlandığını atlamışlardır. Aslında bunda garip bir durum yok. Çünkü Delphi ile birlikte çok sayıda kontrol verilmektedir. Bütün kontrolleri ayrıntıları anlatmak, örneklemek mümkün değildir. Şu günlerde yazmayı sürdürdüğüm Turbo Delphi kitabımda Maskedit kontrolü hakkında eskiden yazdıklarıma aşağıdaki gibi ekleme yaptım. 

Çalışma anında kullanıcının Maskedit nesnesine girdiği bilgiler ile birlikte “literal” adı verilen karakterler Text özelliğinde tutulmaktadır. Text özelliğine literal karakterlerin dahil edilmesini istemiyorsanız Input Mask Editor diyalog kutusunda Save Literal Characters onay kutusunu pasif duruma getirmeniz gerekir. Bu onay kutusu seçili değilken Input Mask Editor diyalog kutusunda hazırlanan maske metnine “0” eklenmektedir. Bu onay kutusu pasif iken 1 eklenmektedir. Bu konuda bilgi vermek için forma bir Maskedit yerleştirip aşağıdaki gibi kod yazarak maske hazırladım.
 

procedure TForm1.FormCreate(Sender: TObject);

begin 
  Maskedit1.Text := ''; 
  Maskedit1.EditMask := '0-###-### ## ##;1';
end; 

Bu Maskeye ayrıca 1 eklediğim için Maskedit nesnesinin Text özelliğine literal karakterler ve boşluklarda dahil edilir. Forma ayrıca bir Edit nesnesi yerleştirip aşağıda verdiğim kodu yazdım. 

procedure TForm1.FormClick(Sender: TObject);

begin 
  Edit1.Text  := Maskedit1.Text;
end; 

Kullanıcı çalışma anında maskedit’e telefon numarasını girip bu kodu işletirse aşağıdaki gibi bir sonuç alır.



Dikkat ederseniz Maskedit’in içeriği ile Text özelliği birebir aynıdır. Eğer yukarıda hazırladığım kodda maskeye “1” yerine “0” eklemiş olsaydım aşağıdaki gibi bir sonuç alırdım.




Yukarıda belirtildiği gibi Maskedit için hazırlanan maske sayesinde karakter yazılacak yerler “_” ile işaret edilmektedir. Input Mask Editor diyalog kutusunda Character for blank kutusundan yararlanarak bu karakteri değiştirmek mümkündür. Kod yazarak maske hazırlıyorsanız ve kullanıcının bilgi yazacağı yerleri farklı karakter ile işaret etmek istiyorsanız bu karakteri 3. sırada maske metnine eklemeniz gerekir. Aşağıda verilen maske örneğinde “*” karakterini kullandım.
  

procedure TForm1.FormCreate(Sender: TObject);

begin 
  Maskedit1.Text := ''; 
  Maskedit1.EditMask := '0-###-### ## ##;1;*';
end;

Delphi 07.07.2009 08:21:28

YORUM YOK


YorumlarYorum Yaz
Ana Sayfa | Hakkımda | Kitap Önerileri | Fotoğraflarım | RSS | İletişim
Memik Yanık 2004-2009 © Tüm Hakları Saklıdır.
Hazırlayan www.semgoksu.com