Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.932 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht

  Alt 24. Mai 2022, 19:44
Ich würde auf jeden Fall empfehlen das mit TDateTime zu machen, und zum Beispiel die Differenz (Now - StartDatum) als Trigger zu nehmen, oder auf eine Ablaufzeit FEndTime zu vergleichen.

Delphi-Quellcode:

type
    TMyForm = class
        FStartTime : TDateTime;
    end;

procedure TMyForm.Start;
begin
    FStartTime := Now;
end;

procedure TMyForm.OnTick;
begin
  if MilliSecondsBetween(Now, FStartTime) > 10000 then // if Now >= FEndTime then //<== Alternativ
  begin
     Alarm;
  end;
end;
Diese Abfrage dann regelmäßig mit DoTick triggern lassen, wie unten beschrieben, über Timer, Thread oder sonstwas.
Der Vorteil ist das der Wecker dann immer beliebig genau ist nach der Systemzeit, egal wie genau der Timer ist.
Dem Timer traue ich da über große Zeiträume eher weniger zu, der könnte auch mal irgendwo hängen bleiben, aber als zyklischer "Ticker" ist der super..

Geändert von Rollo62 (24. Mai 2022 um 19:47 Uhr)
  Mit Zitat antworten Zitat