ich bin ein totaler anfänger was programmieren angeht. Jetzt haben wir in der Schule die Aufgabe bekommen ein Ampelsystem zu entwerfen. Mit Autos und Fußgängern. Wir sollen das programm über einen Button starten, also die timer1.enabled:=true; und dann die timer so programmieren das die Ampeln von rot zu gelb und dann zu grün wechseln. Ich weiß leider nicht wie man einen Timer programmiert. Bitte helft mir!
Ampelsystem
Ampelsystem
Hey Leute,
ich bin ein totaler anfänger was programmieren angeht. Jetzt haben wir in der Schule die Aufgabe bekommen ein Ampelsystem zu entwerfen. Mit Autos und Fußgängern. Wir sollen das programm über einen Button starten, also die timer1.enabled:=true; und dann die timer so programmieren das die Ampeln von rot zu gelb und dann zu grün wechseln. Ich weiß leider nicht wie man einen Timer programmiert. Bitte helft mir!
ich bin ein totaler anfänger was programmieren angeht. Jetzt haben wir in der Schule die Aufgabe bekommen ein Ampelsystem zu entwerfen. Mit Autos und Fußgängern. Wir sollen das programm über einen Button starten, also die timer1.enabled:=true; und dann die timer so programmieren das die Ampeln von rot zu gelb und dann zu grün wechseln. Ich weiß leider nicht wie man einen Timer programmiert. Bitte helft mir!
Re: Ampelsystem
Also die Aufgaben lösen wir hier nicht
. Lösungsansätze gibt es bei der Suche in vielen Foren (auch hier)!
Wenn Du an einer kongreten Stelle nicht weiterkommst und evtl. schon etwas Code posten kannst, wird Dir hier sicherlich gern geholfen!
Als Hinweis: mit >timer1.enabled:=true< hast Du bereits den Timer aktiviert und als kleine Hilfestellung: bei Timer-Ereignis OnTimer kann eine gewüschte Operation/Procedure ausgeführt werden!
Wenn Du an einer kongreten Stelle nicht weiterkommst und evtl. schon etwas Code posten kannst, wird Dir hier sicherlich gern geholfen!
Als Hinweis: mit >timer1.enabled:=true< hast Du bereits den Timer aktiviert und als kleine Hilfestellung: bei Timer-Ereignis OnTimer kann eine gewüschte Operation/Procedure ausgeführt werden!
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection; -
u-boot
- Beiträge: 308
- Registriert: Do 9. Apr 2009, 10:10
- OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
- CPU-Target: 32Bit
- Wohnort: 785..
Re: Ampelsystem
Die Farbe geht übrigens von Rot auf Rot-Gelb und dann auf Grün. Von Grün zurück ist es nur Gelb und dann Rot ....
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
Re: Ampelsystem
Code: Alles auswählen
procedure TfmKreuzung.Timer1Timer(Sender: TObject);
begin
if(122=1) and (ImAb.left<600) then
begin
ImAb.left:=ImAb.left+1;
end;
end;
procedure TfmKreuzung.btStartClick(Sender: TObject);
begin
timer1.enabled:=true;
end;
end. Was mach ich falsch?
Zuletzt geändert von Lori am Mo 11. Mär 2013, 16:48, insgesamt 1-mal geändert.
Grund: Bitte den Highligher verwenden
Grund: Bitte den Highligher verwenden
Re: Ampelsystem
Code: Alles auswählen
if(122=1) and (ImAb.left<600) thenSchreib doch zum überprüfen Deines Timers erstmal etwas wie >Form1.Caption:=inttostr(random(1000));<, dann siehst Du auf jeden Fall erst einmal, ob Dein Timer funktioniert und er etwas macht. Dann kannst Du das ja wieder löschen und einen für Dich passenderen Code schreiben
Also:
Code: Alles auswählen
procedure TfmKreuzung.Timer1Timer(Sender: TObject);
begin
Form1.Caption:=inttostr(random(1000)); //Schreibt in die Titelzeile Deiner Form ein zufälligen Zahlwert zwischen 0 bis 999
end;Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection; Re: Ampelsystem
Da passiert nichts und ich weiß nicht wie man das anders macht. Ist aber egal ich versuch es anders.
Re: Ampelsystem
Der Reihe nach:
TTimer von der Komponentenpalette auswählen und auf Deiner Form plazieren.
Im Objektinspektor unter Ereignisse OnTimer auf den Button mit den drei Punkten klicken -> es wird automatisch eine Procedure TForm1.Timer1Timer(Sender: TObject) estellt.
Dort den gewünschten Code schreiben (zum Testen evtl den: Form1.Caption:=inttostr(random(1000));)
Nun muss nur noch der Timer gestartet werden z.B. bei einem Klick auf einem Button!
Selbes Vorgehen: TButton von der Komponentenpalette wählen und in Form plazieren.
Im Objektinspektor unter Ereignisse OnClick auf den Button mit den drei Punkten klicken -> es wird automatisch eine Procedure TForm1.Button1Click(Sender: TObject) erstellt.
Dort noch folgenden Code einfügen: timer1.Enabled:=true;
Fertig!
Jetzt kann Dein Programm gestartet werden. Beim Klick auf den Button wird der Timer gestartet (vordefiniert ist der Intervall 1000) und damit ca jede Sekunde 1x Dein Code ausgeführt.
TTimer von der Komponentenpalette auswählen und auf Deiner Form plazieren.
Im Objektinspektor unter Ereignisse OnTimer auf den Button mit den drei Punkten klicken -> es wird automatisch eine Procedure TForm1.Timer1Timer(Sender: TObject) estellt.
Dort den gewünschten Code schreiben (zum Testen evtl den: Form1.Caption:=inttostr(random(1000));)
Nun muss nur noch der Timer gestartet werden z.B. bei einem Klick auf einem Button!
Selbes Vorgehen: TButton von der Komponentenpalette wählen und in Form plazieren.
Im Objektinspektor unter Ereignisse OnClick auf den Button mit den drei Punkten klicken -> es wird automatisch eine Procedure TForm1.Button1Click(Sender: TObject) erstellt.
Dort noch folgenden Code einfügen: timer1.Enabled:=true;
Fertig!
Jetzt kann Dein Programm gestartet werden. Beim Klick auf den Button wird der Timer gestartet (vordefiniert ist der Intervall 1000) und damit ca jede Sekunde 1x Dein Code ausgeführt.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection; Re: Ampelsystem
Danke, es funktioniert jetzt.
-
pluto
- Lazarusforum e. V.
- Beiträge: 7199
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Ampelsystem
Such mal nach Paintbox, Image und Canvas. Das sind ganz hilfreiche "Werkzeuge" für dein Vorhaben.
Möchtest du eine Ampel auch Grafisch da stellen z.b. einfach über drei Kreise die quasi Eine Einheit bilden?
Möchtest du eine Ampel auch Grafisch da stellen z.b. einfach über drei Kreise die quasi Eine Einheit bilden?
MFG
Michael Springwald
Michael Springwald