if-Problem
-
Hi, ich hab mal wieder eine kleine Frage.
Ich hab ein Programm geschrieben in der ich ohne weiters if-Anweisungen verschachtelt habe.
Jetzt hab ich ein weiteres Programm geschrieben, wo auf einmal Fehler auftreten. Hier erst mal der Quellcode:void __fastcall TForm1::Button1Click(TObject *Sender) { if(x1 > 10) { if(x1d==1||x1d==5x1d==9||x1d==5x1d==13||x1d==17) { c1 = x1; c2 = x2; v1 = y1; v2 = y2; x1 -= 25; x2 -= 25; Canvas->Brush->Color = clYellow; Canvas->Ellipse(x1,y1,x2,y2); Canvas->Brush->Color = clScrollBar; Canvas->Ellipse(c1,v1,c2,v2); } } }Es kommt folgende Fehlermeldung:
if statement missing)Und zwar genau hinter dem ersten Oder in der zweirten if-Anweisung.
In C hab ich ein Ähnliches Beispiel gemacht, ohne Probleme!
-
So müsste es doch gehen oder?
void __fastcall TForm1::Button1Click(TObject *Sender) { if(x1 > 10) { if(x1d==1||(x1d==9&&x1d==5x1d)||(x1d==13&&x1d==5x1d)||x1d==17) { c1 = x1; c2 = x2; v1 = y1; v2 = y2; x1 -= 25; x2 -= 25; Canvas->Brush->Color = clYellow; Canvas->Ellipse(x1,y1,x2,y2); Canvas->Brush->Color = clScrollBar; Canvas->Ellipse(c1,v1,c2,v2); } } }mfg cb
-
Es kommt immer noch der gleiche Error. Für mich ist das irgendwie gerade ein Rätsel!

-
Also 2 Abfragen hintereinander ohne Zwischenbefehle macht keinen Sinn. Also eine If drauß machen. Die würde dann so aussehen:
if(x1 > 10 && (x1d==1 || (x1d==9 && x1d==5x1d) || (x1d == 13 && x1d == 5x1d) || x1d==17)) { c1 = x1; c2 = x2; v1 = y1; v2 = y2; x1 -= 25; x2 -= 25; Canvas->Brush->Color = clYellow; Canvas->Ellipse(x1,y1,x2,y2); Canvas->Brush->Color = clScrollBar; Canvas->Ellipse(c1,v1,c2,v2); }Und die funzt so. Voraussetzung sind halt die Variablen, aber mit denen gibts ja kein Problem.
mfg cb
-
Danke carstenhauer!
1.Ich hab nie bedacht, das ich ja auch mit Klammern arbeiten könnte...
2.Ich hab mir den Error mal genaqu durch den Kopf gehen lassen.
Der fehler war dieser hier:x1d==5x1d==9Hier steh er jetzt mal richtig:
if(x1d==1 || x1d==5 || x1d==9 || x1d==13 || x1d==17)Ich hab mich vertippt. Dummerweise ist mir das überhaupt nicht eingefallen. Erst wo ich deinen Qullcode gelesen habe, hab ich mir gesagt: Was hast du da aus meine Variablen gemacht? Seid wann hab ich eine 5x1d-Variable die dann gleich 9 sein soll?
