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!
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!
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.
Da passiert nichts!
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
Die Abfrage "if" und dann "122=1" wird nie funktionieren, da 122 niemals 1 ist!!! - Ist wahrscheinlich nur ein Schreibfehler!
Schreib 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
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;
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.