Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#12

Re: DateTimeToStr Konvertierungsproblem

  Alt 9. Aug 2007, 14:59
Zitat von JonnyGuitar:
... und zwar bekomme ich aus der registry einen string folgenden musters: '12.11.2007'.
Kommt nun drauf an, wer diesen Wert in die Registry schreibt/geschrieben hat.
Wenn du das bist, dann solltest du das Format ändern.
Entweder a.) das ISO 8601 Format verwenden oder b.) ein maschinenlesbares Format wie z.B. Anzahl der Tage seit dem 31.12.1899 verwenden.

Es gilt folgende Grundregel:
Niemals ein Datum / Uhrzeit so speichern, wie es dem Benutzer an der Oberfläche präsentiert wird!
Immer ein international anerkanntes Stringformat oder ein maschinenlesbares Format verwenden.

Variante b.) ist besonders einfach:
Delphi-Quellcode:
var
   datum : TDateTime;
begin
   ...
   datum := SysUtils.Date;
   Reg.WriteString('LastUpdate', IntToStr(Trunc(datum)));
   // Trunc schneidet den evtl. Zeitanteil ab
...
   datum := StrToFloat(Reg.ReadString('LastUpdate')); // und zurück lesen
Übrigens !!! Die Klasse TRegistry hat die Methoden ReadDate, WriteDate.
Damit wird ein Datum gleich binär in die Registry geschrieben/gelesen.
CPU-Belastung und Speicherverbrauch sind hier am Kleinsten.
Andreas
  Mit Zitat antworten Zitat