Ahh ok ich verstehe !
Edit1: also müsste ich ja meine paint procedure nochmal in verschiedene proceduren unterteilen oder?
also z.B. procedure Rot
procedure Gelb
procedure Gruen
oder nicht ?
Ampelfarben mit Timer aendern
Re: Ampelfarben mit Timer aendern
Oje - jetzt muss ich mich bei dir entschuldigen - ich habe dich auf die falsche Fährte gelockt. Ich habe - leider - jetzt erst deinen Paint-Code genauer angesehen, und da ist mir klar geworden, das deine Klasse TAmpel drei Lampen enthält, und mit "Farbe" legst du fest, welche von den dreien leuchtet. - ich hatte das Verständnis, du würdest mit "Ampel" jede einzelne Lampe meinen, und jetzt wird mir auch klar, warum dich das "Einschalten"/"Ausschalten" verwirrt hat. Sorry, vergiss die letzten Postings, du musst zurück zu der ersten Methode, bei der der Timer den Wert "Farbe" der Ampel geändert hat. Also:
* Einen Timer aufs Formular
* Timer-Interval auf 1000 (ms, d.h 1 sec) - oder einen anderen Wert
* Auf dem Timer doppel-klicken, im Editor in den erzeugten Prozedur-Rumpf für Form1.Timer1Timer, zwischen "begin" und "end" sinngemäß folgenden Code schreiben (die Aufgabe, das in Pascal auszuformulieren, überlasse ich dir):
* Einen Timer aufs Formular
* Timer-Interval auf 1000 (ms, d.h 1 sec) - oder einen anderen Wert
* Auf dem Timer doppel-klicken, im Editor in den erzeugten Prozedur-Rumpf für Form1.Timer1Timer, zwischen "begin" und "end" sinngemäß folgenden Code schreiben (die Aufgabe, das in Pascal auszuformulieren, überlasse ich dir):
Code: Alles auswählen
- Farbe der Ampel erhöhen
- Wenn die Farbe vorher 3 war, ist die Farbe nun 4. Diese gibt es nicht. Was musst du tun?
- Ampel1.Invalidate aufrufen, damit die Ampel neu ausgegeben wird.