![]() |
AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
Zitat:
;-) Sherlock |
AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
Ich retriggere den Timer eigentlich fast immer in seiner OnTimer Routine.
So kann man den auch schön definiert abschalten und aufräumen lassen.
Delphi-Quellcode:
So kann das was im OnTimer gemacht werden soll in Ruhe arbeiten, ohne Gefahr dass ein OnTimer ein zweites Mal reintriggert.
procedure TForm1.Timer1Timer(Sender: TObject);
begin Timer1.Enabled := False; DoTick; if FTimerIsRunning then begin Timer1.Enabled := True; end else begin CleanupAfterStop; end; end; Insbesondere bei schnellen Ticks hilft das, damit es nicht aus dem Tritt gerät wenn DoTick mal 100ms und mal 500ms dauern kann. Das geht natürlich auf insgesamt Kosten der Timergenauigkeit, aber die ist für mich sowieso meistens nicht relevant, deshalb das TDateTime um die wirkliche Zeit zu bekommen. Wenn ich hochpräzise Timer brauche dann nehme ich sowieso was Anderes. |
AW: Wecker - ELEGANTE Lösung mit Abbruch via Button gesucht
huch, wie konnte das passieren? Ich kopierte das Link.
Um es für alle Zeiten "sicher" zu machen, das ist es, was dort zu finden ist:
Delphi-Quellcode:
Und dieser Mann machte mich ganz nervös, weil er so langsam sprach, doch danch hatte ich es wirklich verstanden:
ActiveControl (Delphi)
Description Place a TTimer object on the form and enter Timer1Timer in the OnTimer event. Place other controls on the form and change the active control at run time. The following event handler responds to timer events by moving the active control one pixel to the right every 100 milliseconds. Code procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Interval := 100; if ActiveControl <> nil then ActiveControl.Left := ActiveControl.Left + 1; end; Uses Vcl.Forms.TCustomForm.ActiveControl ( fr | de | ja ) Vcl.ExtCtrls.TTimer.OnTimer ( fr | de | ja ) Vcl.ExtCtrls.TTimer.Interval ( fr | de | ja ) Vcl.Controls.TControl.Left ( fr | de | ja ) ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz