Zitat von
Merlin2001:
Wenn ich aber
Delphi-Quellcode:
if (Length(StringVar)>=5) and (StringVar[5]='x') then
IrgendWas;
schreibe, dann müssen doch auf jeden Fall beide Bedingungen geprüft werden, oder? Schließlich lässt sich aus der Richtigkeit der ersten Bedingung nicht auch das Zutreffen der zweiten schließen (jedenfalls in meiner Logik ^^).
Wenn die erste Bedingung schon falsch ist (die Länge des Strings also kleiner als 5), dann kann der gesamte Ausdruck nicht mehr wahr werden.
Nur dann wird die weitere Auswertung abgebrochen. Das liegt daran, dass "False AND Irgendwas" immer "False" liefert, genau wie "True OR Irgendwas" immer "True".