当一个函数有2个以上的返回值时,该如何传递该返回值?(20分)

  • 主题发起人 主题发起人 carrie4002
  • 开始时间 开始时间
C

carrie4002

Unregistered / Unconfirmed
GUEST, unregistred user!
当一个函数有2个以上的返回值时,该如何传递该返回值?
 
使用结构
 
可以使用数组或结构记录体。
 
过程调用之后,不可以直接引用其参数数据吗?
 
用变量参数
 
具体点好吗?有代码最好。
 
假设函数HanSHu(),你可以在定义参数时加上Var,即:
function/procedure HanShu(ParamA:String;var ParamB:String;var ParamC:String);
那么参数ParamB和参数ParamC你可以当成返回值,也就是说,如果外部参数W初始值为'',函数体内改变成'A',那么调用函数之后你的W就是'A'.
在这个例子中function可以返回三个值(函数体本身和参数ParamB和ParamC),procedure返回两个值
 
function B(var ss1,ss2:string):string;
begin
ss1 := 'AA';
ss2 := 'BB';
Result := 'CC';
end;

procedure A;
var
s1,s2,s3:string;
begin
s3 := B(s1,s2);
ShowMessage(s1);
ShowMessage(s2);
ShowMessage(s3);
end;
 
var 参数必须是变量
 
多人接受答案了。
 
后退
顶部