Einzelnen Beitrag anzeigen

Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

For-Schleife: negative Anzahl Durchläufe

  Alt 11. Mär 2011, 01:52
Delphi-Version: XE
Hi,

ich "befürchte", ich kenne die Antwort auf die Frage, aber da sie mich doch sehr erstaunt hat, wollte ich nachfragen um sicherzugehen.
Folgendes kleines Beispielprogramm:

Delphi-Quellcode:
var
  i: Byte;
  x: integer;
begin
  x := -1;
  for i := 0 to x do
    showmessage(inttostr(i));
Ich hätte jetzt erwartet (wie ich es so von Java, C etc. kenne), dass diese Schleife genau 0x durchlaufen wird, da Start > Ende.
Stattdessen habe ich mir aber eine Endlosschleife gebastelt (bzw. vllt. rettet der Byte-Überlauf mich irgendwann, soweit habe ich es aber nun nicht getestet).

Ist das etwa as-designed? Oder habe ich einen Fehler irgendwo?
Der Originalcode hatte eine solche Schleife:
for i := 0 to Pred(FPControl.PageCount) do wobei FPControl ein TPageControl mit potenziell 0 Pages ist.
Ist also hier meine (einzige ?!) Rettung ein if davor?


LG, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat