使用Delphi传递参数时,会根据需要采用两种方法:传地址,传参数,
传地址传的是变参,就是在函数体或过程内部对这个参数改变了,返
回时这个参数就改变了,而传参数是值参调用,在函数体内部或过程
内部对这个参数进行修改,返回时这个参数还是以前的值,变参调用
时,在参数前面加上关键字Var即可,当有多个参数要用作变参时,
可以用下面的语法:
Var Param1,Param2,Param3:string;
当然有一个前提是,这些参数的类型必须为同一种类型,这样可以省
去多次写Var的重复,当它们的类型不同时,就还是老老实实的写吧。
另外,传参数时,可以对参数进行赋初值,如:
Function(var x:integer;y:integer=152);
当有多个参数时,当其中一个参数赋了初值后,后面的所有参数都必
须赋初值,在这里,跟上面的参数调用有一个冲突,当用变参调用时,
是不能赋初值的,这样,当一个子程序中同时要用到这两种参数调用
时,就必须把变参调用写在前面,面后面要赋初值的参数写在后面。
这有时会给程序增加有些不便性,比如,以前写的一个子程序,因为
要增加功能添加一个变参,如果这个子程序已经包含了赋初值的参数,
就只能把这个参数添加在赋初值的参数前面,这样就要修改以前的相
关调用,如果没有这个限制,添加在后面就行了,以前的程序就不用
改了,这样多方便,这也许是一个Bug吧!