L LJH1978 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #1 如输入 A,B,C三个值 得出A1,B1,C1三个值 A1=A+1 B1=B+2 C1=C+3
A ANiDelphi Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #2 用var procedure ChangeABC(var A, B, C: Integer); begin A := A + 1; B := B + 2; C := C + 3; end; 如果不想修改输入值: procedure ChangeABC(var A1, B1, C1: Integer; const A, B, C: Integer; begin A1 := A + 1; B1 := B + 2; C1 := C + 3; end;
用var procedure ChangeABC(var A, B, C: Integer); begin A := A + 1; B := B + 2; C := C + 3; end; 如果不想修改输入值: procedure ChangeABC(var A1, B1, C1: Integer; const A, B, C: Integer; begin A1 := A + 1; B1 := B + 2; C1 := C + 3; end;
S suger Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #3 procedure TDM.OutInt(var a1, b1, c3: Integer; a, b, c: Integer); begin A1 = a + 1; b1 = b + 1; c1 = c + 1; end; 这样不就行了吗?
procedure TDM.OutInt(var a1, b1, c3: Integer; a, b, c: Integer); begin A1 = a + 1; b1 = b + 1; c1 = c + 1; end; 这样不就行了吗?
C chen_liang Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #4 定义记录来输出: type ROutput=record a1,a2,a3:integer; end; .................................... function ChangeABC(A, B, C: Integer):ROutput; begin result.a1 := A + 1; result.a2 := B + 2; result.a3 := C + 3; end;
定义记录来输出: type ROutput=record a1,a2,a3:integer; end; .................................... function ChangeABC(A, B, C: Integer):ROutput; begin result.a1 := A + 1; result.a2 := B + 2; result.a3 := C + 3; end;
0 0桁骀 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #5 加var就是传址,可以理解为如果加了var,那么这个参数在函数过程中可以被修改,如果没有加var,修改了也没用,回到调用的地方,还是原来的值,推荐楼上结构体的方法,比较灵活,要不然,参数变了函数也要变,另外在Delphi还有一种方法是加out标识 比如 function Test(out handle: HWND):HRESULT; 这样就是可以传出out了,具体delphi的帮助说的比较详细
加var就是传址,可以理解为如果加了var,那么这个参数在函数过程中可以被修改,如果没有加var,修改了也没用,回到调用的地方,还是原来的值,推荐楼上结构体的方法,比较灵活,要不然,参数变了函数也要变,另外在Delphi还有一种方法是加out标识 比如 function Test(out handle: HWND):HRESULT; 这样就是可以传出out了,具体delphi的帮助说的比较详细
L linuxping Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #6 out 修饰字呢? QureyInterface不是就有个out修饰字,但我不知道准确用法
S scu006 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #7 不管任何语言,函数都只能输出一个结果,要么是一个具体类型的数据,要么是一个结构
C crazymoon Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #8 Type TmyResult=record A:integer; B:integer; C:integer; end; Function Test():TmyResult;
S sefeng1982 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-19 #9 如果对值控制的比较好可以用var ,要么就用record吧
D dlucky Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-20 #12 传递的参数用地址就可以保存数量的内容!同意楼上:0桁骀
凤 凤冠坡 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-20 #14 你要达到什么目的就说, Delphi 基本上能够做到, 你不必问这样的废话问题.
G gaobangsheng Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-20 #15 當然可以,采用引用的方式: 就是 function(var 變量名... : 類型): 返回類型 關鍵就是要加入一個var,這樣,如果你調用這個函數之後,再把這個變量使用時就是改之後的值了!