如何将一个数组作为参数,在过程或方法之间进行调用。
谁能给一个小例子啊?
先谢谢各位了!

解决方案 »

  1.   

    fun(arr: array of TType)
    这样就可以了吧
      

  2.   

    直接将数组当作参数的:
    动态
    定义
    TRcdParamArray = array of integer;
    function www(VAR RcdParamarray:TRcdParamArray):boolean;
    var
      iCount:integer;
    begin
      iCount:=Length(RcdParamarray);//数组长度 
      ...
      ...
    end;
    静态
    RcdParamArray : array[0..1] of integer =(1,2);
    function www(PRcdParamData:PByte;iCount,iItemLen:integer):boolean;
    var
      p:Pbyte;
      data1,data2,iReadLen:integer;
    begin
      p:=PRcdParamData;
      move(p^,data1,iItemLen);//
      Inc(p,SizeOf(integer));
      move(p^,data2,iItemLen);//
    end;.....
    ..
    www(Pbyte(@RcdParamArray ),2,SizeOf(integer));随便写下,乱乱的,反正就是用指针传参吧。
      

  3.   

    抄个现成的:问:我用procedure Proc(var A:array[1..10] of integer);怎么都不能编译通过,难道Delphi不能传递数组作为参数吗?答:必须先用Type定义一下即可:
    type
      TProcArray=array[1..10] of integer;procedure Proc(var A:TProcArray);
    这样就没有问题了,而且对于动态数组也可以用上面的方法!使用动态数组的时候,有一个问题是如何遍历每一个数据项?采用类似的代码即可:
    procedure Proc(var A:TProcArray);
    var
      i:integer;
    begin
      ....
      for i:=Low(A) to High(A) do
       /// A[i]就是每一个数据项
      ....
    end;