Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - eine Frage zu Timern


schlumsch - Fr 30.10.09 22:03
Titel: eine Frage zu Timern
Hallo,

ich habe eine / zwei Fragen zum Thema Timer. In meinem Programm stelle ich ein Intervall ein, nach dessen Ablauf eine bestimmte Aktion durchgeführt werden soll. Nun muss ich nur das Intervall des Timers auf meinen Wert (in ms) setzen und beim ontimer-Ereignis die Aktion implememtieren, soweit richtig?

Wie kann ich mir nun den aktuellen Status des Timers anzeigen lassen? Sprich ich möchte eine Anzeige, in wieviel Sekunden der Timer abgelaufen ist.

Danke, lg


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 01.11.2009 um 00:05


Gausi - Fr 30.10.09 22:08

Merke dir in einer zusätzlichen Variable den Zeitpunkt, an dem der Timer ablaufen soll, setze das Timer-Intervall auf eine Sekunde (oder auch weniger, falls nötig), vergleiche im OnTimer-Event die aktuelle Zeit mit der Ablaufzeit und starte dann ggf. die eigentliche Aktion.


FinnO - Fr 30.10.09 23:00

man kann theoretisch ohne Zwischenvariable zwei Stati via Tag definieren und dann mit Case abfragen.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
case Timer.Tag of
  0 : 
  begin
    Timer.Interval := 1500;
    Timer.Tag      := 2;  
  end;
  2
  begin
    sth.foo();
    Timer.Enabled := not Timer.Enabled;
  end;
end;