Einzelnen Beitrag anzeigen

NicoleWagner

Registriert seit: 6. Jul 2010
167 Beiträge
 
Delphi XE3 Professional
 
#1

TDateTimePicker - wie Einfabefehler abfangen?

  Alt 9. Jul 2020, 10:37
ich suche einen Weg, gegen diese Fehleingabe vorzugehen.

Gegeben ist diese Zuweisung:

datum:=DatePlannerPicker1.Date;

wobei
datum => TDateTime;
DatePlannerPicker1 => TPlannerDatePicker; => Typ ist sehr ähnlich einem TDatePicker, dessen modus auf Datum gesetzt wurde

Funktioniert alles wunderbar, wenn ein Datum im DatePicker gewählt wird oder ein korrektes Datum eingegeben.
Schwierig wird es allerdings, wenn manuell ein ungültiges Datum eingegeben wird.
Also z.B. der '99.7.2020'
und der User ok (auf den Button 'verarbeiten') klickt.

Delphi gibt hier eine Fehlermeldung aus, - doch mein Code läuft danach weiter und verarbeitet den 99. Juli.

Wie komme ich an diese Fehlerprüfung ran?
Die klassische Datumsprüfung isValidDate benötigt word-Vars.
Meinen Typ TDateTime in 3 word-Vars zu verwandeln zum Prüfen, - das ist doch zu hässlich.

try-Except
wiederum greift nicht, weil Delphi den Fehler abfängt.
D.h. das Programm kommt nicht in den except Block, sondern läuft fröhlich weiter, wenn der 99. Juli lang ist.

Was ich will, ist das:

If 'fehlerhaftes Datum' then begin
ShowMessage('Datum im DatePicker fehlerhaft');
exit;
end;

Danke für Arbeitstipps!
  Mit Zitat antworten Zitat