![]() |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Wenn Du das Datum als String vorliegen hast, bietet sich TryStrToDate an. Dann würde ich nicht daraus einen Datumsstring zusammenbasteln und dann prüfen, sondern die Elemente einzeln prüfen. Das ist wie links blinken und rechts abbiegen :mrgreen: Mit Deiner Funktion bekommst Du bei einem Englischen Windows Probleme.
Ich würde die Elemente einzeln prüfen:
Delphi-Quellcode:
(DateUtils muss für DaysInAMonth eingebunden werden)
//Gültigkeitsbereich 1.1.0001 ... 31.12.9999
function IsDateOk(d,m,y:integer):boolean; begin if (y < 1) or (y > 9999) then result := False else if (m < 1) or (m > 12) then result := false else if (d < 1) or (d > DaysInAMonth(y, m)) then result := false else result := True; end; Jens |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Verstehe auch nicht, was das wandeln in Strings soll.
Delphi-Quellcode:
function IsDateOk(d,m,y:Word):boolean;
begin Try EncodeDate(Y,M,D); Result := True; Except Result := False; End; end; |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Zitat:
Ich würde eher hierzu tendieren, da spart man sich die Exceptions.
Delphi-Quellcode:
Merke: Die Delphi-Utilities können ne ganze Menge. Man muss nicht mehr viel selbst basteln.
If TryEncodeDate(Year, Month, Day, TheDate) Then
ShowMessage(Format('Das Datum %s ist korrekt',[DateToStr(TheDate)])); |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Danke für die Antworten ;-)
Das ist mit der Variante von alzaimar jetzt übrig geblieben:
Delphi-Quellcode:
Gruß
function IsDateOk(d,m,y:word):boolean;
var mydate:TDateTime; begin result:=false; mydate:=EncodeDate(y,m,d); If TryEncodeDate(y,m,d,myDate) Then result:=true end; procedure TForm4.Button1Click(Sender: TObject); begin Edit1.Text:=BoolToStr(IsDateOk(32,12,1)); end; end. Wolfgang |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Warum nicht einfach so:
Delphi-Quellcode:
:roll:
function IsDateOk(d,m,y:word):boolean;
var mydate:TDateTime; begin result := TryEncodeDate(y,m,d,myDate); end; |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Zitat:
|
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Meine OH gibt folgende Auskunft:
Zitat:
Gruß Wolfgang |
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Aber mydate ist vom Typ TDateTime :zwinker:
|
Re: Datum auf Fehler prüfen - Deutsches Datumsformat
Hast wieder 'mal Recht :-)
[OT] Opa Detlef muß immer das letzte Wort haben [/OT] ;-) Gruß Wolfgang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz