Hallo,
ich möchte nur zu DaddyHs Beitrag hinzufügen, dass eine Prüfung auch im OnExit stattfinden kann.
Persönlich empfinde ich dass für den User manchmal als angenehmer, wenn nicht wegen eines Vertippens gleich eine Fehlermeldung kommt.
Einfaches Beispiel ausgehend davon, dass Edit.Maxlength gesetzt wurde. Habe den Code hier geschrieben und hoffe dass er keine Fehler enthält
Delphi-Quellcode:
procedure EditExit(Sender: TObject);
var i: integer;
s: string;
begin
Try
Edit.Text := IntToStr(StrToInt(Edit.Text));
Except
// Hier kann die Fehlermeldung rein und eventuell das Setzen eines gültigen Standardtextes z.B: Edit.Text := '000001';
End;
if Length(Edit.Text) < Edit.Maxlength then
Begin
// führende Nullen schreiben
s:='';
for i:= 1 to Edit.MaxLength - length(Edit.Text) do s:=s+'0';
Edit.Text := s + Edit.Text ;
End;
end;
Schöner wäre es natürlich allgemeingültig für alle Edits das Edit zu ersetzen durch 'with sender as TEdit do' Habe das aber der einfachheit halber hier weggelassen