在delphi中可以用二维动态数组做函数或过程的参数吗?如果可以,函数或过程处应该怎么定义?

解决方案 »

  1.   

    一维的如下,二维没试过!
    TReturnRecord = array of String;
    function GetSerialNumber(var ID: Integer; var ReturnRecord: TReturnRecord): Boolean;
      

  2.   

    type Tarraytmp=Array of String;
    function test(t:Tarraytmp):String;
    var
      i:Integer;
    begin
      for i:=low(t) to high(t) do
      begin
        result:=result+t[i];
      end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      testarray:Tarraytmp;
      i:integer;
    begin
      setlength(testarray,10);
      for i:=0 to 9 do
        testarray[i]:=inttostr(i);
      showmessage(test(testarray));
    end;
      

  3.   

    这样定义有问题吗?
    Procedure AddKB(k,m:integer;ADD:TADODataSet;
                           ZYY:array of array of string;SG:TStringGrid);
      

  4.   

    1.普通的情况
      type
        TArrArr=array of array of Integer; //假设是Integer类型的 
      
      procdure proc_name(Arr1: TArrArr);
      function ...2. 使用Variant  procdure proc_name(Arr1: Variant);
      function ...
      

  5.   

    可以在函数据中,要指定各维的长度,如a: array of array of integer;i,j:integer;
      setlength(a,10) 
    for i:=low(a) to high(a) do
      begin
        setlength(a[i],20);
        for j:=low(a[i]) to high(a[i]) do
         数据处理;
    end;