PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
PB-Hilfe hat geschrieben:Spezielle Informationen zur Verwendbarkeit logischer Ausdrücke
Logische Ausdrücke (z.B. "Position < 100") können uneingeschränkt mit Befehlen verwendet werden, die logische Ausdrücke erwarten (z.B. If, While, Until) sowie in Kombination mit logischen Operatoren (And, Or, XOr, Not).
In der vorliegenden PureBasic-Version liefern die Rückgabewerte der Vergleichsoperatoren (<, <=, =, >=, >, <>) Ergebnisse, die z.B. in Kombination mit mathematischen Ausdrücken zu unerwarteten Resultaten führen können. Verwenden Sie in solchen Fällen zusätzlich einen der Operatoren And, Or oder Not, um korrekte Ergebnisse zu erzielen.
Beispiel:
Counter = 0 : A = 20 : B = 20
Counter + (A=B) ; Counter wird um den Wert B erhöht (unabhängig vom Vergleichsergebnis)
Counter + (0 Or (A=B)) ; Counter wird um 1 erhöht, wenn der Vergleich #True (wahr) ergibt
Counter + (1 And (A=B)) ; Counter wird um 1 erhöht, wenn der Vergleich #True (wahr) ergibt
Counter + (Not Not (A=B)) ; Counter wird um 1 erhöht, wenn der Vergleich #True (wahr) ergibt
Sie können den zusätzlich benötigten Operator auch von einem Makro erstellen lassen.
Beispiel:
Macro Is(Bool)
(0 Or (Bool))
EndMacro
Counter = 0 : A = 20 : B = 20
Counter + Is(A=B) ; Counter wird um 1 erhöht, wenn der Vergleich #True (wahr) ergibt
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!