das hat nix mit verarsche zu tun. Für den Compiler ist die gesamte If-Anweisung eine Anweisung, Zeilenumbrüche werden nicht berücksichtigt!! Es kommt also aufs gleiche raus ob du das alles auf 5 zeilen verteilst oder auf einer zeile hast, es gibt immer nur den einen Haltepunkt. Wenn du wissen willst ob ein teilausdruck erfüllt ist so setze den haltepunkt bei der if-Anweisung und befördere den Teilausdruck in die Watches (View-Debug Windows->Watches (überwachte Ausdrücke)). Alternativ kannst du auch die If-Anweisung mit den zwei Bedingungen zu 2 If-Anweisungen mit jeweils einer Bedingung umbauen
if a and b then
ist schließlich das gleiche wie
im übrigen sollte es so aussehen:
Delphi-Quellcode:
if (FField[KingPos.X,KingPos.Y].Name='K') and
(FField[KingPos.X,KingPos.Y].White=UserWhite) then
break;
und nicht das then auf die nächste Zeile vor das Break