Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Timerfunktion startet zu einem bestimmten Zeitpunk


sunshineh - So 16.11.08 09:11
Titel: Timerfunktion startet zu einem bestimmten Zeitpunk
Hallo
ich möchte z.B. das meine Timer-Funktion immer um 12Uhr ausgeführt wird.

Bis jetzt habe ich es so geregelt:
1.Messen der Zeitdifferenz von der aktuellen Zeit zu 12Uhr. Diese Differenz als Intervall für den Einstelltimer gesetzt und ihn aktiv geschaltet.
2.Um 12Uhr wird dann die Einstelltimer-Procedure aufgerufen und stellt das Intervall für den eigentlichen Timer auf 24 Stunden und aktiv:

Delphi-Quelltext
1:
2:
3:
  Timer1.Interval := UpdateTime;
  Timer1.Enabled := true;
  EinstellTimer.Enabled := false;

-> Immer um 12 Uhr wird die Procedure des eigentlichen Timers ausgeführt.

Problem:
Das erste Mal wenn es 12 Uhr ist, wird die eigentliche Timer-Procedure nicht ausgeführt, sondern nur die Einstelltimer-Procedure.
Aber ich kann doch nicht den gesamten Code der Timer-Procedure in die EinstellTimer-Procedure kopieren. Was gibt es für eine bessere Lösung?


ssb-blume - So 16.11.08 10:33

Hallo
ganz einfach:
- nur einen Timer verwenden
- diesen mit der Zeitdifferenz stellen und starten
_ Timerereignis:
- einmalig 24h setzen und das merken!
- immer gewünschte Funktion ausführen


sunshineh - So 16.11.08 11:12

Danke, es wäre ja auch zu einfach gewesen ;-)