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