Also erstmal vorab:
1. falls dass in der falschen Kategorie steht bitte moven, bin neu sry.
2. ja ich habe die Suchfunktion von google dem Forum und diversen anderen Seiten benutzt und bin nie auf eine brauchbare lösung gekommen.
Ich habe von meinem Lehrer den Auftrag bekommen eine Ampel kreuzung zu schreiben, woran ich glorreich gescheitert bin, dann habe ich ein neues Projekt erstellt und mit einer einfachen Ampel von vorne angefangen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
{Rot1.visible := true;
sleep(1000);
Application.ProcessMessages;
if Rot1.visible = true then
begin
Rot1.visible := false;
Gelb1.visible := false;
Gruen1.visible := false;
Rotgelb1.visible := true;
end;}
timer1.enabled := true;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Gruen1.visible := false;
Gelb1.visible := false;
Rot1.visible := false;
Rotgelb1.visible := false;
timer1.enabled := false;
end;
procedure TForm1.Timer1StopTimer(Sender: TObject);
begin
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Rot1.visible then
begin
Rot1.visible := false;
Gelb1.visible := false;
Gruen1.visible := false;
Rotgelb1.visible := true;
sleep(1000);
Application.ProcessMessages;
end
else
If RotGelb1.visible then
begin
Rot1.Visible:=False;
Gelb1.Visible:=false;
Gruen1.visible:=true;
RotGelb1.visible:=False;
sleep(1000);
Application.ProcessMessages;
end
else
If Gruen1.visible then
begin
Rot1.Visible:=False;
Gelb1.Visible:=true;
Gruen1.visible:=False;
RotGelb1.visible:=False;
sleep(1000);
Application.ProcessMessages;
end
else
If Gelb1.visible then
begin
Rot1.Visible:=true;
Gelb1.Visible:=false;
Gruen1.visible:=False;
RotGelb1.visible:=False;
Application.ProcessMessages;
sleep(1000);
end;
end;
Also eine einfache if then else reihenfolge, aber ich habe dass problemm, dass die Form nichts anzeigt (der button leuchtet nur) Timer intervall ist 1000
der befehl Application.ProcessMessages; klappt irgendwie nicht und auch die sleep funktion stellt nichts dar.(Mit einer Anweisung hats geklappt, aber nach einer Sekunde nichterscheinen erschien Zustand Rotgelb.) Wie kann ich es hinkriegen dass er mir bei code 2 regelmäßig etwas darstellt?