Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Timer (https://www.delphipraxis.net/97806-timer.html)

Mike_on_Tour 16. Aug 2007 16:02


Timer
 
Hallo zusammen,

Ich habe ein MainForm mit 2 Timern. Es darf immer nur ein Timer "anspringen" (also das OnTimer-Ereignis). D.h. der andere Timer darf dann nichts machen. Erst nach Ausführung der Timer-Prozedur kann wieder einer der beiden Timer "anspringen". Außerdem darf ein Timer auch nur "seine" Prozedur ausführen, wenn das MainForm aktiv ist. Wenn beide Timer den gleichen Intervall haben, wird nur ein Timer ausgeführt.

Ich habe dazu noch folgende Fragen:
Kann ich einen Timer anhalten (so was wie "Pause" am CD-Player) ?
Kann ich ermitteln, wann ein Timer "anspringt" (Rest-Laufzeit) ?
Kann ich die Timer (bei gleichem Intervall) so laufen lassen, dass trotzdem beide Timer ihre Prozedur aufrufen können (also zeitversetzt) ?

Mike

RavenIV 16. Aug 2007 16:14

Re: Timer
 
Mit dem Standard-TTimer geht das nicht.

Aber es gibt jede Menge Timer-Komponenten, die das (und noch mehr) können.
Wirf doch mal einen Blick auf torry.net.

/edit:
irgendwie scheint torry.net grad down zu sein...

Klaus01 16. Aug 2007 16:15

Re: Timer
 
Zitat:

Zitat von Mike_on_Tour
Ich habe dazu noch folgende Fragen:
1. Kann ich einen Timer anhalten (so was wie "Pause" am CD-Player) ?
2. Kann ich ermitteln, wann ein Timer "anspringt" (Rest-Laufzeit) ?
3. Kann ich die Timer (bei gleichem Intervall) so laufen lassen, dass trotzdem beide Timer ihre Prozedur aufrufen können (also zeitversetzt) ?

Hallo Mike,

zu 1., diese Funktion hat ein Timer nicht,
Du müsstest sie nachrüsten.
a) merken wann der Timer das letzte Mal ausgeführt wurde
b) Timer anhalten, vergangene Zeit ermitteln -> Restzeit
c) Timer neu starten, Interval = Restzeit
d) nach dem die Restzeit abgelaufen ist, das Interval wieder so einstellen wie es sein sollte

zu 2.siehe Punkt 1

zu 3. sollte gehen, mußt Du mal ausprobieren.

Grüße
Klaus

Mike_on_Tour 16. Aug 2007 16:24

Re: Timer
 
Danke für die Antworten.

@Klaus:
zu 2.: die Rest-Laufzeit kann ich inzwischen über einen 3. Timer (1 Sec.) ermitteln.
zu 3.: das klappt noch nicht, weil ich ja bei einem Timer-Ereignis den anderen Timer auf Enabled=false setze. Beim Setzen auf true starten beide Timer gleichzeitig. Aber ich arbeite daran.

@RavenIV:
Ich versuchs später nochmal.

Mike


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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