

delphi中一个函数或过程返回多个值
方法一:使用函数,先声明一个记录,在函数中给这个记录的每个变量赋值,再返回记录
Type
TmyData = Record 先定义一个Record有三个返回值
Data1: string;
Data2: string;
Data3: string;
end;
//定义 function的代码
function Tform1.Myfunction(parm: string): TMydata;
var MyData1: TMydata;
begin
MyData1.Data1:= 'This is Data1:';
MyData1.Data2:= 'This is Data2:';
MyData1.Data3:= 'This is Data3:';
result:= MyData1; //传回为一个记录record
end;
方法二:使用过程,把这个过程的参数用var设为变量,这样就可以用引用传递(传地址)的方式赋值,详见助手RunU单元的fstr(findstr, runstr, typestr);过程
function abc(var aa,bb,cc:double):string;//返回3个double值,1个string值
var
ret: IWantData;
begin
aa:=1.234;
bb:=2.021;
cc:=3.333;
result:='';
end;
//调用
var
findstr, runstr, typestr: string;
fstr(findstr, runstr, typestr); //引用传递得到runstr和typestr
showmessage(runstr);
showmessage(typestr);