Zitat von
DeddyH:
Es wäre aber besser, wenn Du auch auf Fehleingaben reagieren würdest.
OK, bei einer direkten Eingabeprüfung isses schon besser, da sonst wärend des Eingebens und z.B. bei einem leerem Editfelt, das StrToInt eine
Exception wirft.
Aber es sollte dennoch eine Meldung ausgegeben werden, da ein TryStrToInt einfach jeden Fehler unterdrückt und man sich dann wundert, warum die Zeit nicht gesetzt wird.
Meine Lösung wäre:
In OnExit die Werte prüfen und erst zulassen, also enn man aus dem Edit rausgeht.
Ind dann entweder mit StrToInt, denn dann würde der User eine
Exception bekommen und weiß, daß sein Wert falsch ist oder via TryStrToInt, aber damm mit einer eigenen Meldung.
wenn es sofort ausgewertet werden soll, dann wärend der Eingabe im OnChange nur via TryStrToInt und mit einem dezenzen Fehlerhinweis.
Persönlich mische ich gerne Beides (also wärenddessen z.B. in einem Label oder mit einer anderen Hintergrundfarbe des Edits auf den Fehler hinweisen) und im OnExit dann streng prüfen und im Fehlerfall eine
Exception werfen, welche der User promt serviert wird.