So wärs dann mit case, Ampelstellung ist einfach nen Integer (unter var Form1... definiert, und muss am anfang irgendeinen Wert bekommen :)):
procedure TForm1.Button1Click(Sender: TObject);
begin
case Ampelstellung of
1: begin
// Anweisungen für grün
Ampelstellung := 2
end;
2: begin
// Anweisungen für gelb
Ampelstellung := 3
end;
3: begin
// Anweisungen für rot
Ampelstellung := 4
end;
4: begin
// Anweisungen für rot-gelb
Ampelstellung := 1
end;
end;
end;
Viel Spass!
cu RFZ