1.在用自定义函数时(function),可以返回2个以上的返回值吗,谢谢.
例
function test(x: String;): Extended;
var
a,b :Extended;
begin
if x='ok' then
begin
a := 10;
b := 20;
end
else
begin
a := 20;
b := 30;
end;
//只能返回
Result :=
end;但我想分别返回a和b的值.2.看其他的编程工具貌似可以返回数组,不知道delphi可以返回吗?
例
function test(x: String;): Extended;
var
a,b :Extended;
begin
if x='ok' then
begin
a := 10;
b := 20;
end
else
begin
a := 20;
b := 30;
end;
//只能返回
Result :=
end;但我想分别返回a和b的值.2.看其他的编程工具貌似可以返回数组,不知道delphi可以返回吗?
解决方案 »
- (很难啊)如何实时获取DBGrid 中当前单元格输入的内容?
- 求助+散分!!!!!!!!!!!!
- GMail信箱大赠送
- 朋友快帮忙,急!!!!(在线等待)
- 怎样把自已电脑的文件夹共享加密让在局域网内访问时要输入密码!象WIN98共享加密一样!!
- 请问如何将StringGrid按其格式打印?
- delphi发展如何?下一个版本会怎么样?
- 怎样得到某个类的function的入口地址???---我想用类里面的一个函数来做HookCallBackProc。。。。
- InstallScript相关问题
- delphi的续行符是什么?
- delhpi 对基类变量的引用
- DELPHI如何判断服务是否安装?如果安装如果判断其当前状态?运行?停止?暂停?
aa = record
a:Extended;
b:Extended;
end;function test(x: String;): aa ;
begin
a:=2;
b:=3;
//....在过程中对参数的操作将直接影响a b c d
end;procedure Button1onclick(sender:tobject);
var
a,b,c,d : integer;
begin
test(a,b,c,d);
end;
var
fa:array[0..5] of integer;
begin
...
result := fa;
end;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
type NewRet=array[0..5] of integer;
function farray(...): NewRet;
var
fa:NewRet;
begin
...
fa[0] := ...;
...
result := fa;
end;
我还没掌握其中的一些用法,我的想法是通过1个简单的实例来试试例
type NewRet=array[0..5] of integer;<---在那里写?//先定义函数
function farray(xx: String): NewRet;
var
fa:NewRet;
begin
if xx='ok' then
begin
fa[0] := 10;
fa[1] := 20;
end
else
begin
fa[0] := 30;
fa[1] := 40;
end;
result := fa;
end;//通过输入 Edit1.text 获得 XX 的值//用按键触发
procedure TForm1.Button4Click(Sender: TObject);
begin
Label1.Caption := inttostr(farray(Edit1.Text));<---应该怎么写?
Label2.Caption := inttostr(farray(Edit1.Text));<---应该怎么写?
end;预期 Label1 和 Label2 能显示出 10和20 或 30和40.
NewRet = array[0..5] of integer;function farray(xx: String): NewRet;
begin
if xx='ok' then
begin
Result[0] := 10;
Result[1] := 20;
end
else
begin
Result[0] := 30;
Result[1] := 40;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
fa : NewRet;
begin
fa := farray('ok');
Label1.Caption := IntToStr(fa[0]);
Label2.Caption := IntToStr(fa[1]);
end;
通过 a和b的输入, c d 赋空值
经过 procedure 影响 c d 取c d的值来用.
function Test(x: String; out a, b: Integer): Boolean;
begin
Result := SameText(x, 'ok');
if Result then
begin
a := 10;
b := 20;
end
else
begin
a := 20;
b := 30;
end; end;