Ampel mit Timer

Inzwischen sind so gut wie alle Ampeln automatisch gesteuert. Sie erhalten von einem Steuerungselement den Befehl, zur nächsten Phase umzuschalten. Delphi enthält eine Komponente, die in bestimmten zeitlichen Abständen Ereignisse auslösen kann: den Timer. Er ist eine sog. unsichtbare Komponente, die nur während der Entwicklungszeit sichtbar bleibt. Das einzige Ereignis, was vom Timer ausgeht  ist : OnTimer. Den Abstand der Timer-clicks kann man einstellen durch die Eigenschaft: TimerInterval.

Jetzt zahlt es sich aus, dass man die schalte-Prozedur getrennt programmiert hat. Die Routine, die auf das Ereignis OnTimer reagiert enthält genau so wie der Druck auf den Knopf zwei Anweisungen :

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   inc(zaehler);
   schalte(zaehler);
end;

Allerdings muss man den Timer erst starten. Er kann auch im Hintergrund laufen, ohne dass auf den TimerClick reagiert wird. Das tut man entweder wieder in der FormCreate-Prozedur mit Timer1.Enabled := true oder aber mit Hilfe eines besonderen Automatikschalters, der die Umschaltung von manueller auf automatische Steuerung bewirkt..

 


Zurück zu Delphi

© Dietrich Praclik