在delphi中函数的返回值可否是数组?如果不能,那我怎么让函数有多哥返值?
提供个例子吧。

解决方案 »

  1.   

    of course you can ;
      

  2.   

    Variant 或者是 TStrings 都可以返回多个值
      

  3.   

    如:
    procedure Result_Array(var Try_Array:array of string);
    begin
    Try_Array[0]:='HCH';
    Try_Array[1]:='123456';
    Try_Array[2]:='654321';//返回数组
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      AA:array of string;
    begin
      SetLength(AA,3);
      Result_Array(AA);
      ShowMessage(AA[0]);
      ShowMessage(AA[1]);
      ShowMessage(AA[2]);
    end;
      

  4.   

    在delphi中函数的返回值可否是数组?如果不能,那我怎么让函数有多哥返值?
    提供个例子吧。
    我要的是“函数”的返回值(不是参数),不是要过程!!!!
    我定义function aaa(i:integer) : array of integer;
    系统报错 ,那么应该怎么定义?有人说用指针,但我不知道怎么用!。
    不要瞎回答,请看明白我要问什么!
      

  5.   

    type
      AA = array of ...;
    function BB(): AA;
      

  6.   

    function ArrayReturnTest: Types.TIntegerDynArray;
    begin
      SetLength(Result, 5);
      Result[0] := 1;
      Result[1] := 2;
      Result[2] := 3;
      Result[3] := 4;
      Result[4] := 5;
    end;这样就可以了。
      

  7.   

    因为不允许这样定义:
    type
      TConstDynArray = array of const;所以,如果你需要返回多个不同类型的值,只能使用Variant了。
    type
      TVariantDynArray = array of Variant;