Edit'in boş olmaması

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
YeniÜye
Üye
Mesajlar: 6
Kayıt: 18 Şub 2019 11:34

Edit'in boş olmaması

Mesaj gönderen YeniÜye » 12 Eki 2019 09:33

Merhabalar;

edit'in boş olmaması ve girilen değerin sıfır olmaması gerekiyor.

if (edit.text='') or (strtofloat(edit.text)=0) then ... şeklinde kontrol koyduğumda, eğer edit'te rakamdan başka karakter varsa "edit is not a floating point value" hatası veriyor. (edit'in numbersonly özelliğini true yaparsam, virgüllü sayı girişine izin vermiyor)

Yapmaya çalıştığım şeyi yapmanın doğru yolu nedir?

Şimdiden çok teşekkürler.

Kullanıcı avatarı
loaded
Üye
Mesajlar: 78
Kayıt: 12 Eki 2010 08:45
Konum: Konya
İletişim:

Re: Edit'in boş olmaması

Mesaj gönderen loaded » 12 Eki 2019 09:08

Kod: Tümünü seç

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
  if (AnsiPos('.',TEdit(sender).Text)<>0) and (key='.') then key:=#0;
  if (AnsiPos('.',TEdit(sender).Text)=0) and (key=',') then key:='.';
  if not (Key in ['0'..'9', '.', #8, #9]) then Key := #0;
end; 
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.

YeniÜye
Üye
Mesajlar: 6
Kayıt: 18 Şub 2019 11:34

Re: Edit'in boş olmaması

Mesaj gönderen YeniÜye » 13 Eki 2019 10:32

loaded yazdı:
12 Eki 2019 09:08

Kod: Tümünü seç

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
  if (AnsiPos('.',TEdit(sender).Text)<>0) and (key='.') then key:=#0;
  if (AnsiPos('.',TEdit(sender).Text)=0) and (key=',') then key:='.';
  if not (Key in ['0'..'9', '.', #8, #9]) then Key := #0;
end; 
çok teşekkür ederim.

Cevapla