Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:43
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.
  Mit Zitat antworten Zitat