Hi Grolle,
mir fällt auf, dass du in deinem Aufruf beim Eintreten des Fehlerfalls speicherst. Das Gegenteil hätte ich erwartet:
Delphi-Quellcode:
begin
if CheckInput then
with SaveDialog do
begin
// ...
if Execute then
begin
//...
end
end;
end;
Wenn in einem TEdit nur 0 oder Werte von 200 bis 999 gültig sind, dann kannst du den Benutzer u.a. im Hint der Edit-Komponente vorher darüber informieren - ShowHint der Form muss dann eingeschaltet sein und ein StatusBar mit eingeschaltetem AutoHint sollte existieren. Im konkreten Fall wäre auch eine Edit-Maske oder ein SpinEdit möglich.
Wenn der Benutzer dann immer noch falsche Werte eingibt, dann darfst du seine Eingabe nicht einfach entfernen oder ersetzen. Entweder der Benutzer darf seine Eingaben korrigieren, die er dann auch noch sehen können muss, oder dein Programm arbeitet mit Standardannahmen, die du dann in einem Bestätigungsdialog anzeigst. Im konkreten Fall würde ich die fehlerhaften Eingaben stehen lassen.
Grüße vom marabu