Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 8. Mär 2003, 01:25
Moin Florian,

Dein Fehler besteht darin, dass Du zu sehr das, was Du Dir im Klartext gedacht hast in Pascal geschrieben hast.


"Wenn .... dann oder Wenn... dann"

dieses OR in der Mitte ist das Eigentliche Problem.

Kurz geschrieben könnte Deine Funktion so aussehen:

Delphi-Quellcode:
MoveLeft.Enabled := Ship.Left = (Ship.Left-150);
MoveRight.Enabled := Ship.Right = (Ship.Right+150);
(Das sieht jetzt vielleicht etwas verwirrend aus, deshalb eine kurze Erklärung dazu:
Man kann Boolschen Eigenschaften (hier: Enabled) direkt das Ergebnis eines Vergleiches zuweisen (hier, u.a.: Ship.Left = (Ship.Left-150)))

Allerdings würde das dennoch nicht funktionieren, da das Ergebnis immer false wäre (was Dir auch der Compiler als Warning melden würde).
Jan's Lösung müsste funktionieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat