Ampelfarben mit Timer aendern

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Moo
Beiträge: 27
Registriert: Mi 21. Mai 2014, 19:11

Re: Ampelfarben mit Timer aendern

Beitrag von Moo »

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 ?

wp_xyz
Beiträge: 5134
Registriert: Fr 8. Apr 2011, 09:01

Re: Ampelfarben mit Timer aendern

Beitrag von wp_xyz »

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):

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.
 

Antworten