Delphi-Quellcode:
if (length(lsMinute_b) > 2) or ((liMinute_b) > 60) then
...
Auf Grund der Bedingungen nehme ich an, dass es auch eine Eingabe für Stunden gibt!?
Dann möchte ich darauf hinweisen, dass eine Stunde zwar 60 Minuten hat, aber in der Zeitangabe nur ganzzahlige Werte angegeben werden. Ein Minutenwert 60 ist eine Stunde und wird mit 1:00 angegeben.
Alternativ könnte man über das OnKeyPress-Ereignis des Edits die Eingabe sofort auswerten. Zum Beispiel bei Länge 0 (leeres Eingabefeld) nur die Ziffern 0 bis 5 zulassen und alle anderen Eingaben sind wirkungslos. Bei Länge 1 sind dann Rückschritt (Löschen 1. Ziffer) und die Ziffern 0..9 erlaubt und bei Länge 2 nur noch der Rückschritt. Eventuell kann man einen vorherigen Wert zwischenspeichern und über ESC wiederherstellen.