请教返回数组的函数怎么写最好呢?

ynquan 2009-03-16 07:22:10
我在写一个能返回数组的函数但是好像delphi不支持数组不知道怎写呢?
还有返回指针的话怎么写呢?怎么调用呢?比如

function ptest(i:integer):pointer;
begin
result:=@i;
end;

procedure test;
begin
showmessage(ptest(3)); //这里面怎么写不是错误呢?
end;
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpxfzp 2009-03-17
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
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.
zpxfzp 2009-03-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 ynquan 的帖子:]
我在写一个能返回数组的函数但是好像delphi不支持数组不知道怎写呢?
还有返回指针的话怎么写呢?怎么调用呢?比如

function ptest(i:integer):pointer;
begin
result:=@i;
end;

procedure test;
begin
showmessage(ptest(3)); //这里面怎么写不是错误呢?
end;
[/Quote]

没有最好,只有更好^v^
delphi支持数组的
bdmh 2009-03-17
  • 打赏
  • 举报
回复

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

830

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧