sadece harf girilsin

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
heavy
Üye
Mesajlar: 67
Kayıt: 07 May 2005 03:31

sadece harf girilsin

Mesaj gönderen heavy »

arkadaşlar aşağıdaki kod ile dbedit kutusuna sadece harf girilebilmesini sağlamak istiyorum. fakat ascii kodu 255'den büyük olan karakterleri yazmak istediğimde yazmıyor. bunun bir çözümü varmıdır acaba? (Delphi 2009)

Kod: Tümünü seç

procedure TForm1.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['a'..'z', 'A'..'Z', '0'..'9', 'ı', 'İ', 'ğ', 'Ğ', 'ü', 'Ü', 'ç', 'Ç', 'ö', 'Ö', #32, #8, #127, #9, #13]) then
    abort;

//  dbedit içine yazılmayan karakterler ( ord ile alınmış key kodları )
//  Ğ = #286, ğ = #287, İ = #304, ı = #305, ş = #351, Ş = #350
end;
ibrahimcoban
Üye
Mesajlar: 163
Kayıt: 11 Eki 2005 10:44
İletişim:

Re: sadece harf girilsin

Mesaj gönderen ibrahimcoban »

if key in ['0'..'9'] then key:=#0;
http://ibrahimcoban.com/
Lazarus, Kol-Ce,Delphi ve C#
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: sadece harf girilsin

Mesaj gönderen Ertugrul »

ibrahimcoban yazdı:if key in ['0'..'9'] then key:=#0;
Arkadas tirnak vb girilsin istemiyor sanirim. Char ( D2009 oncesi ise = byte) deger olarak en fazla 256 aldigi icin olabilir. Keypress yerine Keydown da deneyin.
heavy
Üye
Mesajlar: 67
Kayıt: 07 May 2005 03:31

Re: sadece harf girilsin

Mesaj gönderen heavy »

keypress olayında şununla hallettim.

teşekkürler.

Kod: Tümünü seç

  case Key of
    'a'..'z', 'A'..'Z', '0'..'9', 'ı', 'İ', 'ğ', 'Ğ', 'ü', 'Ü', 'ç', 'Ç', 'ö',
      'Ö', 'ş', 'Ş', #32, #8, #127, #9, #13:
  else
    abort;
  end;
Cevapla