Forum: Object-Pascal / Delphi-Language
by hoika,
15. Aug 2018
Hallo,
so aus dem Stegreif
function GibMirEinenString(const AFlag: Integer): String;
begin
Result:= ''; // ja, die Zeile ist wirklich drin
case AFlag of
1: Result:= '1';
2: Result:= '2';
Forum: Object-Pascal / Delphi-Language
by hoika,
15. Aug 2018
Hallo,
also ich habe Warnungen drin und das Programm stürzt nicht ab.
Also ist doch alles gut?
PS:
Ich habe hier eine Warnung, da vertut sich der Compiler definitiv.
Ich kann das aber hier leider nicht posten.
Das ist aber die absolute Ausnahme.
Forum: Object-Pascal / Delphi-Language
by hoika,
13. Aug 2018
Hallo,
warum sollte Dein erstes Code-Stück eine Warnung erzeugen?
Jein, die Schleifenvariable steht meistens in einem Register (ax,eax usw.).
Dieser Registerinhalt kann nach "einer Weile" Code hinter der Schleife einfach einen anderen Wert haben.
Forum: Object-Pascal / Delphi-Language
by hoika,
13. Aug 2018
Hallo,
Das ist nicht ganz korrekt.
Wenn die Schleifenvariable innerhalb der Schleife nicht benutzt wird, optimiert das der Compiler,
weil ein Compare mit 0 als Endergebnis der Schleifenvariable schneller ist.
Wird die Schleifenvariable innerhalb der Schleife benutzt, zählt der "Compiler richtig".
Und eine Schleifenvariable darf eh nicht außerhalb der Schleife benutzt werden.
Forum: Object-Pascal / Delphi-Language
by hoika,
9. Aug 2018
Hallo,
b:= True;
for i:= Low(w) to High(w) do
begin
if not w then
begin
b:= False;
break;
end;