Forum: Programmieren allgemein
by himitsu,
5. Apr 2015
nja, zumindestens in dem anfänglichen Beispielcode ist damit die Schleife kaum effizienter, denn letztendlich kommt der Code ja auf Folgendes hinaus.
for i := 0 to 8 do
if not b then
b := Test(i)
{else
b := b};
Also effektiv nur noch ein if b then continue; in der Schleife, welches noch maximal 8 Mal ausgeführt wird.
Aber auch wenn dein Code "länger" ist, so zeigt er...
Forum: Programmieren allgemein
by himitsu,
5. Apr 2015
Jupp, Delphi ist "standardmäßig" so eingestellt, daß es die Algebra verkürzt und mit der Auswertung aufhört, wenn das Endergebnis bereits feststeht.
0 or 0 = 0
1 or (0) = 1 <<<<<<
0 or 1 = 1
1 or (1) = 1 <<<<<<
0 and (0) = 0
1 and 0 = 0
0 and (1) = 0
Forum: Programmieren allgemein
by himitsu,
5. Apr 2015
Man kann meine Antwort natürlich auch als Beispiel ansehen und nur das Prinzip betrachten. :roll:
Forum: Programmieren allgemein
by himitsu,
5. Apr 2015
Vielleicht hattest du es andersrum gemacht?
b := Test(i) or b;
Oder du hattest an den Compileroptionen rumgespielt. :stupid:
Und keine Sorge, die Variable mit b or Test könnte eh nicht wegoptiomiert werden.
Bei Test or b wäre es aber möglich, aber ich glaub auch da bleibt es noch da.