Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

AW: For-To-Do-Schleife beginnt nicht mit Startwert

  Alt 29. Okt 2014, 15:19
Weshalb ich fragte, ob das Ergebnis nach der Schlafe denn wie erwartet ist...
NEIN.

"Nach" der Schleife ist i immer "ungültig".


Intern kann der Compiler das i anders laufen lassen, je nach Code-Optimierung, aber bei "Verwendung" ist i immer richtig (wird intern wieder umgerechnet)
Der Debugger zeigt nur manchmal was Falsches an, vorallem wenn man i innerhalb der Schleife garnicht verwendet.



Zitat:
Delphi-Quellcode:
MaxZahl:=20;
for i:=1 to MaxZahl do
Ach ja, Delphi cached den Endwert sowieso immer, weswegen man dort keine Variable benötigt.
Drum knallt es gern, wenn man Items aus Listen löscht und dabei die Schleife vorwärts durchläuft.
$2B or not $2B

Geändert von himitsu (29. Okt 2014 um 15:22 Uhr)
  Mit Zitat antworten Zitat