z.B. if (a=b) and {oder or} (c=d) then..., erschließt sich mir bis heute nicht.
Das ist ganz einfach.
Es gibt eine Reihenfolge/Rangfolge der Verarbeitung, bzw. die Operatoren haben unterschiedliche Prioritäten.
http://de.wikibooks.org/wiki/Program...al:_Operatoren
siehe Rangfolge der Operatoren
[edit]Das unäre + und - wurde in der Liste nicht mit aufgenommen, also das Vorzeichen einer Zahl, aber diese kann man sich auch gerne an Position 0 vorstellen, noch vor dem NOT.[/edit]
Das steh zwar auch nochmal in der
OH, aber solche Einträge findet man dort nicht so einfach
Ich weiß nicht was du hast ... es geht doch? Man kann Klammern weglassen.
Delphi-Quellcode:
if ((not a) = (b and c)) then
if not a = b and c then
Man muß nur die Rangfolge beachten
[edit]
Aus if a = b and c = d then
wird also zuerst ein if a = e = d then
Vorher wird daraus erstmal ein
if a = (b and c) = d then
Praktisch ist aber, daß man nur ein = haben kann, innerhalb eines Auswertungspfades. Manchmal aber auch unpraktisch, aber hier praktisch, da man so eine Fehlermeldung bekommt.
Bei
if a = b and c then
, aka
if a = (b and c) then
, würde es anders aussehn, da es eben nicht zu
if (a = b) and c then
wird.