Tipp:
Wenn A wahr ist (z.B. eine Zahl hat einen bestimmten Wert oder dein Formular ist Grün), dann wird der then-Teil abgearbeitet. Das wäre der Befehl B. Der macht bei dir das Formular Gelb. D.h. wenn dein Formular Grün ist, wird deines Gelb. Im Else Teil steht alles, was passiert, wenn die Bedingung A nicht wahr ist. Hier wir der Befehl C ausgeführt, der wäre bei dir, dass das Formular Grün wird.
C kann aber auch mehrere Befehle enthalten:
Delphi-Quellcode:
if (A) then
B
else
begin
C1;
C2;
end;
Möchtest du überprüfen, ob die Ampel Gelb war, und du hast ausgeschlossen, dass sie Grün war kannst du es so machen:
Delphi-Quellcode:
if (A) then
B
else
begin
if (D) then
E;
end;
Jetzt wird geguckt, ob die Ampel grün war. War sie das nicht wird im else Teil gesprungen. Wenn sie dort Gelb war (= D), dann wird die Ampel rot (= E). Natürlich kann du da auch noch ein else-Zweig machen.
Delphi-Quellcode:
if (A) then
B
else
begin
if (D) then
E
else
C;
end;
Also, wenn sie weder grün ist, noch gelb, dann wird der Befehl C ausgeführt. Das wäre jetzt der Fall wenn die Ampel zum Beispiel Rot ist (oder aus). Das heißt jetzt wird es Gelb (wir gehen davon aus, dass die Ampel nie aus sein wird).
Das kannst du übrigens weiter vereinfachen:
Delphi-Quellcode:
if (A) then
B
else if (D) then
E
else
C;
Das bedeutet so viel wie:
Code:
Wenn die Bedingung A wahr ist, dann
Führe den Befehl B aus
Ansonsten (= else) wenn die Bedingung D wahr ist, dann (= if)
Führe den Befehl E aus
Ansonsten
Führe den Befehl C aus
Bei dir wäre das:
Delphi-Quellcode:
if form1.color=clgreen then
form1.color:=clyellow
else if form1.color=clyellow then
form1.color:=clred
else
form1.color:=clYellow;
Ich glaube darauf wolltest du mit deiner Konstruktion hinaus.
MfG
Fabian
PS: Lasse das
form1.
weg, wenn es in einer Methode ist, die
procedure/function TForm1.[...]
heißt. Das brauchst du nicht, und könnte irgendwann zu Problemen führen (hier nicht, aber es ist besser, wenn man sich das jetzt schon angewöhnt).
PPS: Wegen der Tags: Markiere deinen Quelltext und klicke auf den Delphi Helm (
) oben in der Reihe!