Einzelnen Beitrag anzeigen

Benutzerbild von PinKing2
PinKing2

Registriert seit: 9. Aug 2007
29 Beiträge
 
#13

Re: DateTimeToStr Konvertierungsproblem

  Alt 10. Aug 2007, 07:47
Moin, moin

ich bin es noch einmal.

Ich hab die Sache jetzt dahin umgebogen, dass ich unabhängig von den
eingestellten Datums- und Uhrzeitformaten des PCs bin. Dazu habe ich
"StrToTimeDef" und "StrToDateDef" benutzt.

Allerdings bin ich jetzt auf eine Sache gestossen, die ich nicht
verstehe (muss dazu sagen, dass ich kein Profi in Sachen Programmierung
bin, sondern das eher als Hobby betreibe um nich ganz zu verblöden).

Folgenden Quellcode habe ich erstellt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Datumsformat: TFormatSettings;
  Zeit1,Zeit2: TDateTime;

begin

  Datumsformat.DateSeparator:='-';
  Datumsformat.ShortDateFormat:='yyyy-dd-mm';
  Datumsformat.TimeSeparator:=':';
  Datumsformat.ShortTimeFormat:='HH:mm:ss';

  Memo1.Clear;

  Zeit1:=(StrToDateDef('2007-10-08', -10, Datumsformat) + StrToTimeDef('10:00:00', -10, Datumsformat));
  Zeit2:=(StrToDateDef('2007-10-08', -10, Datumsformat) + StrToTimeDef('10:00:00', -10, Datumsformat));

  if Zeit1 < Zeit2 then
    begin
      Memo1.Lines.Add('Zeit1 kleiner Zeit2'); //Dies wird nie erreicht
    end;

    if Zeit1 < (StrToDateDef('2007-10-08', -10, Datumsformat)+StrToTimeDef('10:00:00', -10, Datumsformat)) then
    begin
      Memo1.Lines.Add('Zeit1 kleiner Berechnung'); //Dies wird immer erreicht
      Memo1.Lines.Add('Aber warum???');
    end;

  Memo1.Lines.Add('');
  Memo1.Lines.Add('Kurzes Datumsformat PC: '+ShortDateFormat);
  Memo1.Lines.Add('Datumsseparator: '+DateSeparator);
end;
Zeit1 und Zeit2 sind identisch und die Abfrage Zeit1 kleiner Zeit2 wird auch übersprungen.
Warum aber ist bei der zweiten Abfrage mit der Berechnung statt Zeit2 die Zeit1 plötzlich kleiner ?


Kann mir das jemand erklären? Ich bin einigermassen ratlos...

Gruß, Andreas.
  Mit Zitat antworten Zitat