本文整理自网络,侵删。
Delphi里参数修饰符可以使用const、var、out,但这三个的区别是什么呢?可以参考下面的说明:
const修饰符示例代码:
procedure TForm7.TestVar(const A: string);begin A := A + 'Test';end;以上代码编译则会报错的,无法执行!因为加了const修饰符是不允许修改变量值的。
var修饰符示例代码:Pascalprocedure TForm7.Button1Click(Sender: TObject);var S: string;begin S := 'Delphi'; TestVar(S); ShowMessage(S);end;
procedure TForm7.TestVar(var A: string);begin A := A + 'Test';end;以上代码执行后会显示出DelphiTest,因为var修饰是地址传递,会修改原有的变量值。
out修饰符示例代码:Pascalprocedure TForm7.Button1Click(Sender: TObject);var S: string;begin S := 'Delphi'; TestVar(S); ShowMessage(S);end;
procedure TForm7.TestVar(out A: string);begin A := A + 'Test';end;以上会输出Test,因为out是用于返回赋值的,而对out的任何输入都会被忽略。out参数不需要进行初始化。
无任何修饰符示例代码:Pascalprocedure TForm7.Button1Click(Sender: TObject);var S: string;begin S := 'Delphi'; TestVar(S); ShowMessage(S);end;
procedure TForm7.TestVar(A: string);begin A := A + 'Test';end;以上会输出Delphi,因为方法TestVar其实是创建了一个新的变量A,而不会对原来的变量值做修改。
相关阅读 >>
Delphi 从给定字符串中截取n个字节的字符(解决汉字截取乱码问题)
Delphi winapi: openprocess、getexitcodeprocess、terminateprocess (qq)
Delphi xe android 判断自己程序是否是前台程序
更多相关阅读请进入《Delphi》频道 >>