刚用delphi
   i:=i-1;     
   这个语句为什么是错的!!
   我要使变量  i 自减1 怎么写呀谢谢了

解决方案 »

  1.   

    for i:=0 to  stringlist.Count  -1  do
        begin
             Parentid := copy(stringlist.Strings[i],4,3);
                for j:=i+1 to  stringlist.Count  -1  do
                begin
                     if Parentid=copy(stringlist.Strings[j],1,3)  then
                     begin
                        s:=stringlist.Strings[j];
                        stringlist.Delete(j);
                        stringlist.Insert(i,s);
                        Dec(i);     //  [Error] Unit_functions.pas(60): Assignment to FOR-Loop variable 'i'
                     end ;
                end ;
        end;这是循环变量  我能强制改它吗?
      

  2.   

    在For循环中,Delphi进行了优化,因此不能在循环中修改循环变量的值而且在For循环外面,去访问循环的最后值,有时也会不对如果要在循环中修改循环变量,可以改用while循环
      

  3.   

    在for循环中不能更改循环变量的值,这点delphi和c是不一样的