>That page only talks about assigning the loop var *inside* the loop, which is 
>forbidden.

You can re-assign the loop variable if you are in {$Mode TP} it works perfectly 
fine to re-assign the for variable inside the loop, and I use that extensively, 
I have TP units specifically so I can do that.  I really don't understand why 
it's forbidden if you aren't in TP mode...  programmers can take care of their 
own variables and don't need to be protected from themselves.  I have good 
reasons to want to change the for loop variable and never have a problem with 
it.  I know there are ways around it, but I prefer to just modify the for 
variable... it can be very powerful.

This works great! 

{$MODE TP}
Var
   I:Byte;
Begin
  I:=57;
  For I := I to 100 do
    Begin
       If I=87 then
          I:=95;
       Write(I,' ');
    End;
End.

Output:
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 
83 84 85 86 95 96 97 98 99 100

James
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to