Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Prüfen ob Datum existiert
Jakane - Do 09.06.11 10:05
Titel: Prüfen ob Datum existiert
Guten Morgen lieber Delphi-Helfer :)
ich möchte prüfen ob ein Datum existiert oder nicht.
mein grober Filter weiss zwar das es keinen 32.April geben kann, aber wenn ich den soweit ausbaue das er auch weiss das es keinen 31. April gibt, wird er relativ gross... wenn dann noch Schaltjahre mit rein sollen...
Kenn da jemand einen einfacheren Weg? :)
Moderiert von
Narses: Topic aus Dateizugriff verschoben am Fr 10.06.2011 um 00:30
MaxWurzel - Do 09.06.11 10:11
Guckt dir mal die Funktion
in der Unit DateUtils an.
Jakane - Do 09.06.11 10:28
Datei nicht gefunden :( hab keine DateUtils.dcu
jaenicke - Do 09.06.11 10:39
Dann musst du eine sehr sehr alte Delphiversion haben. Da wäre es schon sinnvoll, wenn du das in dein Profil schreibst, damit man das bei Antworten gleich weiß... da ist so viel dazugekommen, was du dann alles nicht hast...
Welche Version hast du denn?
Bliebe noch der Versuch es in einen Datumswert umzuwandeln und wenn es nicht geht, ist es keins.
Jakane - Do 09.06.11 15:50
Ich habe Delphi 5 :(
jasocul - Do 09.06.11 16:15
Bin jetzt nicht ganz sicher, aber gab es früher nicht bei den Jedi-Komponenten eine entsprechende Unit?
Ich meine, dass die JvDateUtils hieß. Also Jedi installieren und weiterarbeiten :wink:
jaenicke - Do 09.06.11 16:41
Wobei die neuen JVCL/JCL Versionen nicht mehr mit Delphi 5 funktionieren, der Support wurde mit JVCL Version 3.37 eingestellt. Du müsstest dir also diese alte Version holen, damit es geht.
Jakane - Fr 10.06.11 09:40
An dem PC an dem ich arbeite darf ich nichts installieren :(
Wie prüf ich ich über StrToDate() ohne das ich eine Fehlermeldung bekomme?
Martok - Fr 10.06.11 11:57
Soweit waren wir schonmal ;)
jaenicke hat folgendes geschrieben : |
Bliebe noch der Versuch es in einen Datumswert umzuwandeln und wenn es nicht geht, ist es keins. |
jasocul - Fr 10.06.11 12:56
Oh man, dann schreibt es doch selbst. Ist nun wirklich nicht kompliziert.
Pseucode:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Funktion IstGueltigesDatum(Datum) : Boolean; Datum in Tag, Monat und Jahr aufteilen
falls 31er-Monat und Tag zwischen 1 und 31, dann Rückgabe = True sonst falls 30er Monat und Tag zwischen 1 und 30, dann Rückgabe = True sonst falls Monat = 2 und Tag zwischen 1 und 28, dann Rückgabe = True sonst Falls Monat = 2 und Tag = 29 und Schaltjahr, dann Rückgabe = True sonst Rückgabe = False |
Für das Schaltjahr natürlich noch eine kleine Funktion schreiben.
Kann man auch sehr hübsch als Case-Struktur programmieren.
SpaghettiCodix - Mi 06.07.11 13:09
Jakane hat folgendes geschrieben : |
ich möchte prüfen ob ein Datum existiert oder nicht. |
vielleicht hilft Dir das hier weiter:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function IstString_einDatum(const S: string): Boolean; begin Result := True; try StrToDate(S); except Result := False; end; end; |
Wenn hier der String kein datum ist,gibt die Function ein False zurück.
Delphi-Quelltext
1: 2: 3:
| If IstString_einDatum('32.01.2011') then Label1.caption:='es ist ein Datum' else Label1.caption:='es ist KEIN Datum'; |
Moderiert von
Narses: Quote- durch Delphi-Tags ersetzt, Zitat gekürzt.
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!