Thema: Delphi Uhrzeiten vergleichen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#3

Re: Uhrzeiten vergleichen

  Alt 22. Jan 2009, 15:49
Da du ja deinen Timer nicht im Millisekundenrythmus ausführen kannst, wirst du nicht geneu vergleichen lassen können.

nimm die nächste Zeit (nächste volle stunde) und prüf so
If Trunc(Now) >= strtotime('16:00:00') then Ach ja, Now enthält auch noch die Tage(Monate,Jahre) ... die müßtest du erstmal rausrechnen.



[add]
ungetestet ... mal sehn, ob ich 'nen Denkfehler hab

(Frac(Time) >= StrToTime('06:00:00')) and (Frac(Time) < StrToTime('20:00:00'))
prüfen ob es ab 6°° und vor 20°° (also bis kurz nach 19°°) ist

Trunc(Frac(Time) * 24) > Trunc(Frac(LastTime) * 24)
Zeiten in Stunden umrechnen und vergleichen

Delphi-Quellcode:
Var LastTime: TDateTime; // am Besten im Private-Abschnitt von TForm1 deklarieren

Procedure TForm1.Timer1Timer(Sender: TObject);
  Var Time: TDateTime;

  Begin
    Time := Now;
    Label1.Caption := TimeToStr(Time);
    If (Frac(Time) >= StrToTime('06:00:00')) and (Frac(Time) < StrToTime('20:00:00'))
        and (Trunc(Frac(Time) * 24) > Trunc(Frac(LastTime) * 24)) Then Begin
      LastTime := Time;
      Showmessage(TimeToStr(Time));
    End;
  End;

// und nicht vergessen LastTime zu initalisieren
// LastTime := Now;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat