Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi zeitstempel vergleichen [gelöst] (https://www.delphipraxis.net/8972-zeitstempel-vergleichen-%5Bgeloest%5D.html)

ims 16. Sep 2003 07:55


zeitstempel vergleichen [gelöst]
 
hi
ich möchte zwei Tdate variablen vergleichen um heraus zufinden, ob eine datei nach dem programmstart geändert wurde. -> habe in einem ini-file ein tdate datum und lese den zweiten wert aus dem zu überprüfenden file. wenn das überprüfende file jünger ist als der wert aus dem ini-file, dann soll ... ne meldung kommen.

danke im voraus!

gruss, ims

Mario 16. Sep 2003 08:03

Re: zeitstempel vergleichen
 
Hallo,

was ist Deine Frage? TDate-Variablen kannst Du wie Zahlen vergleichen:
Delphi-Quellcode:
if Date1 < Date2 then ...

ims 16. Sep 2003 09:06

Re: zeitstempel vergleichen
 
also, möchte den zeitstempel zweier dateien vergleichen und herausfinden, welche die neuere datei ist(mit datum + zeit). das mit < > funzt nicht so richtig... gibts noch ne andere variante um das zu lösen?

Sharky 16. Sep 2003 09:15

Re: zeitstempel vergleichen
 
Zitat:

Zitat von ims
....(mit datum + zeit)....

Wenn Du datum und Zeit vergleichen möchtest brauchst Du eine Variable vom Typ TDateTime und nicht vom Typ TDate.

Mario 16. Sep 2003 09:16

Re: zeitstempel vergleichen
 
Schreibe doch bitte ein wenig ausführlicher. "Funzt nicht" sagt einem einfach gar nix und wir können nur raten. Das macht keine Spaß. Auch ein wenig Code, der bei Dir nicht tut, wäre hilfreich. Klar könnten wir Dir ein Beispiel ausarbeiten, welches das Datum zweier Dateien ausliest und vergleicht, aber dazu habe ich im Moment keine Lust zu und Du würdest nachher nicht wissen, warum's tut.

ims 16. Sep 2003 09:27

Re: zeitstempel vergleichen
 
danke sharky, das war mein problem...

@mario: so siehts aus... nun tuts, danke trotzdem.

Delphi-Quellcode:
 var temp : integer;
 var dt : TDatetime;
begin
 if form1.OpenDialog1.Execute then
  begin
   form1.Edit2.Text := form1.OpenDialog1.FileName;
   temp:= FileAge(form1.Edit2.Text);
   dt:= FileDateToDateTime(temp);
   form1.Label2.Caption := DateTimeToStr(dt);
  end;
  if form1.Label1.Caption < form1.Label2.Caption then
   showmessage('1. File neuer')
  else
   showmessage('1. File älter');
end;

Tom 16. Sep 2003 09:36

Re: zeitstempel vergleichen [gelöst]
 
Funktioniert nicht wirklich. Zeiten vergleicht man als Zahl und nicht als String.

Mario 16. Sep 2003 09:45

Re: zeitstempel vergleichen [gelöst]
 
Besser so:
Delphi-Quellcode:
var temp : integer;
var dt : TDatetime;
begin
if form1.OpenDialog1.Execute then
  begin
   form1.Edit2.Text := form1.OpenDialog1.FileName;
   temp:= FileAge(form1.Edit2.Text);
   dt:= FileDateToDateTime(temp);
   form1.Label2.Caption := DateTimeToStr(dt);
  end;
  // statt StrToDateTime(form1.Label1.Caption)
  // besser die echte DateTime-Variable einsetzen
  if StrToDateTime(form1.Label1.Caption) < dt then
   showmessage('1. File neuer')
  else
   showmessage('1. File älter');
end;

ims 16. Sep 2003 10:00

Re: zeitstempel vergleichen [gelöst]
 
habs auch geändert. direkter variablenvergleich ist einfacher und schneller.
Delphi-Quellcode:
 if dt1 < dt2 then
  showmessage(datetimetostr(dt1) + ' ist älter als ' + datetimetostr(dt2))
 else
  showmessage(datetimetostr(dt1) + ' ist neuer als ' + datetimetostr(dt2));


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz