Entwickler-Ecke

Sonstiges (Delphi) - downto dec immer noch einen nach der Scheife


bockwurst - Do 13.10.05 14:37
Titel: downto dec immer noch einen nach der Scheife
Hallo zusammen,
habe eine Frage.
Warum steht nach dem downto in i eine 0 und nicht eine eins.
Gibt es noch andere Sachen die man wissen muß.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure THF.Button1Click(Sender: TObject);
var i,k:integer;
begin
  for i:=5 downto 1 do k:=i;
  Showmessage(format('k=%d aber i=%d',[k,i]));   //k=1 i=0
end;


Martin1966 - Do 13.10.05 14:48
Titel: Re: downto dec immer noch einen nach der Scheife
user profile iconbockwurst hat folgendes geschrieben:
Gibt es noch andere Sachen die man wissen muß.

Ja, man sollte die Warnunen die Delphi ausgibt beachten. ;-)

Zitat:
FOR-Schleifenvariable '<Element>' kann nach Durchlauf undefiniert sein


Zitat:
Diese Warnung wird angezeigt, wenn die Steuervariable einer for-Schleife nach der Schleife verwendet wird.

Sie können sich nur auf den letzten Wert eines for-Schleifenzählers verlassen, wenn die Schleife mit einer goto- oder exit-Anweisung verlassen wird.

Der Grund für diese Einschränkung ist, dass der Compiler dadurch sehr effizienten Code für die for-Schleife erzeugen kann.


bockwurst - Do 13.10.05 15:04

Vielen dank,
wieder etwas neues gelernt. Ich hatte ein altes Prog von Delphi_1 auf Delphi_5 einfach laufen und wunderte mich über das seltsame Verhalten.