Thema: Delphi Uhrzeiten vergleichen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Uhrzeiten vergleichen

  Alt 22. Jan 2009, 17:34
wenn es nicht ganz genau sein muß, dann geht auch sowas (falls ich mich nicht verrechnet hab)
Delphi-Quellcode:
// Timer1.Enabled per Default auf False

Procedure TForm1.Timer1Timer(Sender: TObject);
  Begin
    Timer.Enabled := False;
    Showmessage(TimeToStr(Now));
    Timer1.Intervall := 24*60*1000 - (Trunc(Now * 24*60*1000) - Trunc(Now * 24)*60*1000);
    Timer1.Enabled := True;
  End;

// Timer das erste Mal starten
Timer1.Intervall := 24*60*1000 - (Trunc(Now * 24*60*1000) - Trunc(Now * 24)*60*1000);
Timer1.Enabled := True;

ohne langsamen StrToTime und etwas langsameren DecodeTime
Delphi-Quellcode:
Var LastTime: Integer; // 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) >= 0.25{6:00}) and (Frac(Time) < 0.8{19:12})
        and (Trunc(Time * 24) > LastTime) Then Begin
      LastTime := Trunc(Time * 24);
      Showmessage(TimeToStr(Time));
    End;
  End;

// und nicht vergessen LastTime zu initalisieren
// LastTime := 0;
//
// ist es aber in Private von TForm1 deklariert,
// dann ist es automatisch schon initialisiert
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat