Also wir kennen das Problem. Trat bis jetzt nur bei Windows 7 64bit auf. Trotz deutscher Ländereinstellung werden die globalen Variablen zur Datums-Formatierung in Delphi mit den englischen Variante belegt. Zumindest bei unserem Delphi 6. Wer jetzt nun der Schuldige ist (das alte Delphi 6 oder Windows 7), das herauszufinden hatte wir jetzt keine Lust. Man setzt nach Programmstart einfach die Variablen noch mal von Hand:
Delphi-Quellcode:
CurrencyFormat := 3;
NegCurrFormat := 8;
ThousandSeparator := '.';
DecimalSeparator := ',';
CurrencyDecimals := 2;
DateSeparator := '.';
ShortDateFormat := 'dd.MM.yyyy';
LongDateFormat := 'dddd, d. MMMM yyyy';
TimeSeparator := ':';
TimeAMString := '';
TimePMString := '';
ShortTimeFormat := 'hh:mm';
LongTimeFormat := 'hh:mm:ss';
Und schon klappt das ganze.
Ebenso sollte man bei FOrmatanweisunge auf %m und ähnliches verzichten. Bei %m wird einem z.B. das Dollar-Zeichen anstatt des Euro untergejubelt.
//Edit
um das ganze zu verhindern sollte man DateToStr sowieso nicht verwenden, sonst lieber auf FormatDateTime setzen und alles selbst machen.
Sven