Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - '01.04.2000' <> '1.4.2000'
michaelarban - Do 22.07.10 18:04
Titel: '01.04.2000' <> '1.4.2000'
Hallo,
ich bekomme einen Datuns-String der Form "dd.mm.yyyy" (z.b. 22.12.2009) und soll prüfen, ob es ein gültiges Datum ist:
ich verwende folgende Funktion :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function istDatum(Datum : String): Boolean; var FormatSettings: TFormatSettings; Date : TDateTime; begin FormatSettings.ShortDateFormat := 'dd.mm.yyyy'; FormatSettings.DateSeparator := '.'; try Date := StrToDate(Datum, FormatSettings); except ... ... |
aber diese Funktion abzeptiert auch Datums-String der Form '1.12.2000' bzw. 2.5.2000 (also 1-Stellige Tage und Monate die keine Null davor haben) ;
ich will aber dass er nur 2 Ziffrige Tage und monate akzzeptiert, also
'01.04.2000' , aber nicht '1.4.2000'
gibt es eine entsprechende Funktion?
danke
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
jaenicke - Do 22.07.10 19:15
Wenn das Format vorgegeben ist, dann kannst du das doch leicht selbst prüfen. :gruebel:
Alternative, wenn du das nicht möchtest: Vergleiche nach dem erfolgreichen Umwandeln, ob der mit FormatDateTime explizit in die "richtige" Form gebrachte String wiederum den ursprünglichen ergibt.
Reinhard Kern - Do 22.07.10 20:06
michaelarban hat folgendes geschrieben : |
ich will aber dass er nur 2 Ziffrige Tage und monate akzzeptiert, also
'01.04.2000' , aber nicht '1.4.2000'
gibt es eine entsprechende Funktion?
|
Hallo,
etwas primitiv: prüfe vorab, ob der String 10 Zeichen lang ist.
Gruss Reinhard
ASMFreak - Fr 23.07.10 09:27
... oder ob an Position 3 und/oder 6 ein '.' steht, wenn auch die Jahrszahl zweistellig ein kann.
Gruß, Trutz
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!