Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Timer setzen und dann abfragen


sunshineh - Fr 12.12.08 12:46
Titel: Timer setzen und dann abfragen
Hallo,
ich habe eine Serviceanwendung programmiert. Nun setze ich einen Timer und Enable ihn.
Wie kann ich dann in einer if-Schleife abfragen, ob die eingestellte Timerzeit schon abgelaufen ist?


Sorry für die blöde Frage, aber ich habe bis jetzt immer nur mit OnTimer-Proceduren gearbeitet.
DANKE!


Delete - Fr 12.12.08 12:48

Du setzt einen Timer, ohne das Timer-Event auszuwerten?

P.S.: if-Schleife [http://www.if-schleife.de];)


martin300 - Fr 12.12.08 12:58

Der Timer wird aktiviert mit

Delphi-Quelltext
1:
timer1.Enabled := true;                    

nach dem eingestellten Intervall, tritt jedes mal das
Ereignis OnTimer auf. Der Timer rennt solange bis

Delphi-Quelltext
1:
timer1.Enabled := false;                    

ist.


sunshineh - Fr 12.12.08 13:02

Ich wollte eben den Timer z.B. auf 5 Minuten einstellen und dann als Abfrage einer if-Schleife prüfen, ob die 5 Minuten schon abgelaufen sind.
Wenn ja, dann wird die Schleife ausgeführt und wenn nein, dann eben nicht :-)


martin300 - Fr 12.12.08 13:08

Du definierst eine Variable im OnTimer Ereignis. zb abgelaufen vom Typ Boolean.
Sobald der Timer abgelaufen ist (Timer Ereignis), bekommt die Variable abgelaufen den Wert true;
In deiner If Abfrage siehst du nach ob abgelaufen=true ist.


Delete - Fr 12.12.08 13:50

Wozu eigentlich der Timer? Merk Dir beim Start doch einfach die aktuelle Zeit und vergleiche dann ggf.

Delphi-Quelltext
1:
 abgelaufen := DateUtils.MinutesBetween(Startzeit,now) >= 5;