Schau dir mal folgenden Code an:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in ['0'..'9', Chr(8), Chr(45)]) then begin Key := Chr(0); MessageDlg('Geht nicht!',mtError,[mbOK],0); end; end; |
Damit kannst du schonmal verhindern, dass andere Werte als Ziffern, die "Löschtaste" und Minus eingegeben wird. Wenn du nun eine Fehlermeldung haben willst, die gezeigt wird, wenn nichts eingegeben wird, dann kannst du das nicht im OnKeyPress (oder -Up bzw. -Down) machen, da diese Events nur ausgelöst werden, wenn eine Taste gedrückt wird und somit eine Eingabe ins Editfeld stattfindet. Die Überprüfung, ob das Editfeld leer ist, musst du an der Stelle machen, an der du anfängst den Inhalt des Edits zu verarbeiten.