我在写一个能返回数组的函数但是好像delphi不支持数组不知道怎写呢?
还有返回指针的话怎么写呢?怎么调用呢?比如function ptest(i:integer):pointer;
begin
result:=@i;
end;procedure test;
begin
  showmessage(ptest(3));  //这里面怎么写不是错误呢?
end;

解决方案 »

  1.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      i := PInteger(ptest(3))^;
      showmessage(IntToStr(i));
    end;
      

  2.   


    没有最好,只有更好^v^
    delphi支持数组的
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type sz=array [0..9] of char;type
      TForm1 = class(TForm)
        btn1: TButton;
        procedure btn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        Function Get1(sz1:Char):sz;
      end;var
      Form1: TForm1;implementation{$R *.dfm}function TForm1.Get1(sz1:char): sz;
    var
      i:Integer;
    begin
      for i:=0 to length(result)-1 do
      begin
        result[i]:=sz1;
      end;end;procedure TForm1.btn1Click(Sender: TObject);
    var
      c1:Char;
      s1:String;
      sz1:sz;
    begin
      c1:='c';
      sz1:=Get1(c1);
      s1:=sz1;
      showmessage(s1);
    end;end.