我的程序里有两个函数都是操作结构数组的,都有一个for循环,第二个正常,可是第一个循环是倒着来的,就像是用了downto一样,可我没有用呀,但是数组里没有倒着。这是怎么回事。如:
for i:=0 to 20 do
这个第一次循环i就等于20,然后每次减一

解决方案 »

  1.   

    有没有用 i:=i+1 和 i:=i-1 ?
      

  2.   

    想想都不太可能啊,是不是delphi的bug啊。如果不是,是不是自己写错了。
      

  3.   

    我碰到过 尤其是多次执行for i:=0... 循环的时候 应该是delphi调试的bug 虽然调试的时候有时会显示从大到小 但实际上是按从小到大循环的 你可以输出一下看看 
      

  4.   

    难到真的是BUG吗,还有没有人知道
      

  5.   


    怎么没意义?function Power(const X, N: Integer): Integer;
    var i: Integer;
    begin
      Result := 1;
      for i:=1 to N do
        Result := Result * X;
    end;要是懂点儿汇编的话一看反汇编就知道delphi怎么优化for循环的index了,也压根不会问这种没用的问题;就那些不懂汇编的会问,而且别人说了反而还不信
      

  6.   

    哇,你这代码我不明白呀,第一行Result := 1; 不就返回了吗,下面的还能用?
      

  7.   

    我用的D6用到了fastnet 我把源程序发上来,大家帮我看看呀
    问题函数在server里的GetUserList中的for,
    在这里设断点看一下值需要打开客户端连接一下,我是新手
      

  8.   

    哈哈,也许吧,我搜了一下,发现DELPHI返回有两种,一种是函数名,一种是这个,这个可以多次返回,晕了,不太明白这个是怎么回事,以前学VB和C++时也没有这东东呀,我也看过书了,没有这个内容。。
    忘了发代码了
    http://download.csdn.net/source/1273558