![]() |
StrToDate Fehler
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
folgender Fehler tritt auf:
Delphi-Quellcode:
Fehlermeldung: '06-Apr-2007' ist kein gültiges Datum'
procedure TForm1.Button1Click(Sender: TObject);
var TodayStr: string; TodayDate: TDate; begin TodayStr := DateToStr(Today); Form1.Caption := TodayStr; TodayDate := StrToDate(TodayStr); end; Wieso hat Delphi Probleme einen String mit StrToDate zu dekodieren, den es gerade vorher mit DateToStr kodiert hat? Die lokalen Regional-Einstellungen sind ja bei beiden Vorgängen gleich! Es würde auch nichts nützen, wenn ich meine regionalen Einstellungen für das kurze Datumsformat ändere, denn ich muss ja immer damit rechnen, dass ein Anwender meines Programms genau diese regionalen Einstellungen verwendet! |
Re: StrToDate Fehler
Hai PeterPanino,
![]() Steht so auch in der Onlinehilfe. |
Re: StrToDate Fehler
Hallo,
oder anderes gesagt. DateToStr benutzt die lokalen Ländereinstellungen (lang), StrToDate nicht. Heiko |
Re: StrToDate Fehler
Glaubt ihr, dass es sinnvoll wäre, den String mit einer angepassten Routine zu parsen (vielleicht hat jemand gerade zufällig so eine Routine zur Hand), oder ist die Vielfalt möglicher Regionaleinstellungen zu groß, sodass in der Praxis dabei immer wieder Fehler auftreten können?
|
Re: StrToDate Fehler
Hallo,
ich würde den TDateTime Wert zwischenspeichern und nicht den String. Heiko |
Re: StrToDate Fehler
Zitat:
|
Re: StrToDate Fehler
Somit funktioniert auch ReadDate aus IniFiles nicht, wenn im System die lokalen Regionaleinstellungen für Kurzes Datum auf 'TT-MMM-JJJJ' eingestellt sind, denn ReadDate verwendet implizit StrToDate! (Beispiel: WriteDate schreibt bei diesen Systemeinstellungen z.B. '05-Apr-2007', was dann bei ReadDate prompt zu einem EConvertError-Fehler führt).
Somit sind ReadDate und WriteDate aus IniFiles prinzipiell unbrauchbar! |
Re: StrToDate Fehler
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Bearbeitet 1: Eigenartigerweise tritt dieser Fehler (s. angehängter Screenshot der Fehlermeldung) nur bei der Ausführung im Debugger auf, bei der normalen Ausführung des Programms tritt er nicht auf! Weiß jemand wieso? Bearbeitet 2: Berichtigung: Der Fehler tritt sowohl bei der normalen Programmausführung als auch im Debugger auf. Nur die Fehlermeldung erscheint nur im Debugger! |
Re: StrToDate Fehler
Nabend ..,
vielleicht hilft
Delphi-Quellcode:
Mich irritiert allerdings deine Fehlermeldung!
ShortDateFormat:= 'dd.mm.yyyy';
DateSeparator:= '.'; Zitat:
Sind die 'Gänsefüßchen' etwa auch in dem Datumsstring drin? LG Mario |
Re: StrToDate Fehler
Zitat:
Ich schreibe gerade eine Erweiterung der StrToDate-Funktion, die all diese Fälle abdeckt und stelle sie dann hier rein. Ach ja, das alles unter Vista. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 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 by Thomas Breitkreuz