Thema: FreePascal for-Schleife -Abbruch

Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#17

AW: for-Schleife -Abbruch

  Alt 16. Nov 2011, 10:43
Am Beispiel habe ich ausprobiert, dass "A AND B" einen Fehler ergibt.

Weiß vielleicht jemand, wo ich das umstellen kann ?
Müsste ja irgendwo in "Compilereinstellungen" sein...
(In meiner Signatur steht, was ich benutze.)
Die Standardeinstellung von Free Pascal ist es boolsche Ausdrücke abzukürzen, wenn möglich. Da er keine Kommandozeilenoption hierfür kennt, bietet Lazarus auch keine Option dafür an. Die einzige Möglichkeit dies zu beeinflussen ist innerhalb des Quellcodes:

Delphi-Quellcode:
// Shortcuts einschalten
{$B-}
// oder
{$BOOLEVAL OFF}

// Shortcuts ausschalten
{$B+}
// oder
{$BOOLEVAL ON}
Siehe auch hier.

Ich glaube auch, dass es eine lokale Einstellung ist, das heißt, dass du dies für einzelne Bedingungen ändern kannst (müsste das jedoch nachprüfen).

Zur Semantik (vielleicht hattest du ja was vertauscht):

Bei einem AND wird abgebrochen, wenn die erste Bedingung FALSE ergibt (die gesamte Bedingung kann eh nicht mehr TRUE ergeben).
Bei einem OR wird abgebrochen, wenn die erste Bedingung TRUE ergibt (die gesamte Bedingung kann eh nicht mehr FALSE ergeben).

Gruß,
Sven

PS: Die aktuelle Version von Lazarus ist mittlerweile 0.9.30 mit Free Pascal 2.4.2. Wenn du noch etwas wartest sollte auch bald 0.9.30.2 (mit Free Pascal 2.4.4) veröffentlicht werden.
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat