Da ich merke, dass du gerne dazu lernst, lege ich dir den Ungleich-Operator ans Herz (
), denn dadurch wird der Code ein klein wenig übersichtlicher.
Zitat von
Fabbe:
if runter=1 then {nichts...} else rectangle(x,y,x1,y2);
wird zu
Delphi-Quellcode:
if runter <> 1 then
rectangle(x,y,x1,y2);
Zitat von
Fabbe:
Nein, dass würde mir Delphi sagen.
Delphi gibt dir bei Syntaxfehlern bescheid, aber nicht, wenn die Logik falsch ist. Deddy meint wohl, ob du evtl. hier mehrere Zeilen beim "else" ausführen möchtest:
Delphi-Quellcode:
if runter <> 1 then
begin
Rectangle(x, y, x1, y2);
Brush.Color := clMaroon;
Rectangle(x, y1, x1, y3);
end;
Da ich den Code aber nicht ganz nachvollziehen kann, weiß ich nicht, ob du das so haben möchtest, denn du schreibst explizit, dass dann nur eine Zeile ausgeführt werden soll. Es wäre sinnvoll, wenn du den Code dann entsprechend einrücken würdest:
Delphi-Quellcode:
if runter <> 1 then
Rectangle(x, y, x1, y2);
Brush.Color := clMaroon;
Rectangle(x, y1, x1, y3);
Übrigens schadet es nicht, ein paar "begin" und "end" mehr zu setzen. Je nach Komplexität kann dir das sogar anstrengende Fehlersuchen ersparen, denn du siehst sofort, was wann ausgeführt wird. bei deiner Formatierung siehst du das nicht.
Zitat von
Fabbe:
Man braucht bei einer If-Bedinung kein begin und end zu benutzen; wenn man nur einen Befehl dahinter schreibt falls du dass meinst.
Ich denke, das weiß Deddy.
Grüße
Edit: Da tippe ich mich dämlich und nun kamen in der Zwischenzeit ähnliche Antworten und nicht mal ein roter Kasten.