Thema: Delphi Uhrzeiten vergleichen

Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Uhrzeiten vergleichen

  Alt 23. Jan 2009, 08:24
Hallo Zusammen,

vielen Dank für die vielen guten Antworten!

Ich muss gestehen, dass ich die Berechnung der Zeiten nicht ganz verstehe - ich hatte noch nie damit zu tun...

Was haltet ihr denn davon:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var aHour,aMin,aSec,aMSec: Word;
begin
  Timer1.Interval:=3600000;
  Label1.Caption := TimeToStr(Time);
  DecodeTime(now,aHour,aMin,aSec,aMSec);
  if (aHour in [6..19]) and (aMin in [0..10]) then
  ShowMessage('Volle Stunde');
  if (aHour = 5) and (aMin in [0..10]) then //Damit, wenn das Programm sehr lange
    begin //läuft, ich nicht irgendwann durch
      Timer2.Enabled:=true; //sehr sehr viele Hänger aus dem
      Timer1.Enabled:=false; //10 Minutenfenster falle...
    end;
end;
Damit habe ich meinen Timerintervall auf 1h festgelegt (ich muss mir also nicht mehr merken, ob schon eine Aktualisierung in der aktuellen Stunde durchgeführt wurde), aber eventuelle Verzögerungen werden durch die Minutentoleranz wieder abgefangen.

Und damit das Programm nicht immer nur in den ersten 10 Minuten einer Stunde gestartet werden sollte, schicke ich das vorab:
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
var aHour,aMin,aSec,aMSec: Word;
begin
    Timer2.Interval:=1000;
    Label1.Caption := TimeToStr(Time);
    Timer1.Enabled:=false;
    DecodeTime(now,aHour,aMin,aSec,aMSec);
    if (aMin in [0..5]) then //Wird ja nach dem ersten Durchlaufen der
      begin //IF-Schleife abgeschlatet...
        Timer1.Enabled:=true;
        Timer2.Enabled:=false;
        showmessage('Timer2 false');
      end;
end;
Wie ist eure Meinung dazu?

Danke
Patrick
  Mit Zitat antworten Zitat