Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Maskeditin İlk Karakterinin Sifir Girilmesini Engelleme  (Okunma sayısı 739 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı romantik.kumral

  • Delphi 1 Level 3
  • ***
  • İleti: 20
  • Rep: +0/-0
Maskeditin İlk Karakterinin Sifir Girilmesini Engelleme
   
Arkadaşlar yaptığım programda telefon girişi yapılıyor.Bende bunun için maskedit kullandım.Ancak yanlış girişleri önlemek için, girilen ilk rakamı kontrol etmek istiyorum(ilk rakamın sıfır girilmesini engellemek istiyorum).Bunu nasıl yapabilirim Yardımcı olursanız sevinirim.

Çevrimdışı hayati

  • Administrator
  • *****
  • İleti: 860
  • Rep: +19/-3
  • Cinsiyet: Bay
Ynt: Maskeditin İlk Karakterinin Sifir Girilmesini Engelleme
« Yanıtla #1 : 06 Ağustos 2008 18:14:24 »
Kod:  (Unknown Language)
  1. procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
  2. begin
  3.    if not (Key in [#8, '0'..'9']) then
  4.    begin
  5.     ShowMessage('Geçersiz Karakter: ' + Key);
  6.     Key := #0;
  7.   end
  8.   else if  (length(maskedit1.Text)=0) and (Key = '0')
  9.            then begin
  10.     ShowMessage('İlk rakam sıfır olamaz');
  11.     Key := #0;
  12.   end;
  13. end;

2. şartta; maskedit'in ilk karakteri ise ve tuş vuruşu '0' ise uyar diyoruz ama maskedit'in içindeki text mause ile seçilip 0 basılırsa işe yaramaz. O yüzden bu şartı şöyle düzenlemede fayda var
Kod:  (Unknown Language)
  1. else if (Key = '0') and
  2.           ((Sender as TMaskEdit).SelStart = 0) then begin
  3.     ShowMessage('İlk rakam sıfır olamaz ');
  4.     Key := #0;

Yani son hali
Kod:  (Unknown Language)
  1. procedure TForm1.MaskEdit1KeyPress(Sender: TObject; var Key: Char);
  2. begin
  3.    if not (Key in [#8, '0'..'9']) then
  4.    begin
  5.     ShowMessage('Geçersiz Karakter: ' + Key);
  6.     Key := #0;
  7.   end
  8.   {else if  (length(maskedit1.Text)=0) and (Key = '0')
  9.            then begin
  10.     ShowMessage('İlk rakam sıfır olamaz ');
  11.     Key := #0;
  12.   end }
  13.  
  14.   else if (Key = '0') and
  15.           ((Sender as TMaskEdit).SelStart = 0) then begin
  16.     ShowMessage('İlk rakam sıfır olamaz ');
  17.     Key := #0;
  18.   end;
  19. end;
olmalı. örnek ekte.
Olsa dahi tenimin kıl biten her yeri bir dil, güçsüzüm şükretmeye,şükrüm binde bir bile değil (İ.R.)

Çevrimdışı romantik.kumral

  • Delphi 1 Level 3
  • ***
  • İleti: 20
  • Rep: +0/-0
Ynt: Maskeditin İlk Karakterinin Sifir Girilmesini Engelleme
« Yanıtla #2 : 07 Ağustos 2008 07:55:16 »
Çok sağol hayati hocam.Bu siteyi seviyorum.Gerçek delphi sitesi.Sorulan soruların büyük bölümüne cevap alabiliyoruz.Tekrar sağol.Allaha emanet ol.