Bei einem Modalen Formular sollte man immer alle Prüfungen ausführen,
wenn der Benutzer OK gedrückt hat.
Man sollte nicht die Eingaben in die einzelnen Felder überprüfen und sofort ablehnen.
Warum ?
1.) die Prüfungen im Event KeyPress sind nutzlos, wenn über die Zwischenablage eingefügt wird
2.) angenommen auf dem Formular gibt es die Felder PLZ und Ort.
Man kann das Feld PLZ nur dann verlassen, wenn man 5 Ziffern eingegeben hat.
Das ist aber viel zu restriktiv!
Wenn der Benutzer die PLZ und den Ort als ein String aus einem anderen Dokument kopiert
und dann einfügen möchte scheitert er am PLZ-Feld, obwohl er nach dem Einfügen
den Ort nochmals markieren, ausschneiden und ins Ort-Feld kopieren wollte.
==> Alle Prüfungen am Schluss durchführen und dem Benutzer eine sinnvolle
Exception
um die Ohren hauen:
Delphi-Quellcode:
procedure ...PlausiPruefung;
var
msg :
string;
begin
if Length(Trim(EditPLZ.Text)) <> 5
then
msg := '
PLZ muss 5-stellig sein'#13#10;
if Length(EditOrt.Text) > 40
then
msg := msg+'
Ort darf maximal 40 Zeichen haben'#13#10;
if msg <> '
'
then raise Exception.Create(msg);