Lazarus Panelfarbe if then?

...komplette Frage anzeigen

2 Antworten

Du hast die Frage zweimal eingestellt und in beiden Fällen schaffst du es nicht, den wirklichen Kontext zu klären, bzw. die Informationen zu geben, die notwendig sind. Das ist traurig.

Wenn dein Vergleich nicht zutrifft, wird Feldeins einen anderen Wert als 1 haben.

UPDATE (aufgrund deines Kommentars weiter unten):

a:= Random(6)+1;
feldereins:= feldereins+a;

Die Wahrscheinlichkeit, dass feldereins denn Wert 1 annimmt, ist gering, da bereits die Zufallszahl, mit der addiert wird, einen Wert zwischen 1 und 7 entspricht. Wenn die Variable nun noch einen Startwert größer 0 hat, ist das Erreichen einer wahren Bedingung unmöglich.

Ohne Code keine Hilfe möglich

Randomize;
a:= Random(6)+1;
feldereins:= feldereins+a;
if feldereins=1 then panel2.color:=clRed;

0

Ich weiß ja nicht, sollten die Variablen nicht vorab deklariert sein?

0
@DD555

Ok. Also für mich bildet sich das wie folgt ab. Da die Abfrage der If-Bedingung nur einmal geschieht ist die Wahrscheinlichkeit, dass a:= 1beträgt nur 1/7 womit es geschehen kann dass das Programm mehrfach gestartet werden muss damit der Fall eintritt. 

0
@ETechnikerfx

Ja, ich lasse mir a dann immer im edit ausgeben und so weiß ich immer, welche Zahl "gewürfelt wurde" und auch wenn a=1 war, hat es sich trotzdem nicht rot gefärbt

0

Was möchtest Du wissen?