默认参数(传值),var(传址),out(输出),const(常量)
procedure TForm1.Button1Click(Sender: TObject); var str:string; begin str:='abc'; Test1(str); Showmessage(str);//输出'abc123',var可理解是变量,可以修改 str:='abc'; Test2(str);//编译不能通过,const可理解是常量,不能修改 Showmessage(str); str:='abc'; Test3(str); Showmessage(str);//输出'123',out是用于返回赋值的,而对out的任何输入都会被忽略 str:='abc'; Test4(str); Showmessage(str);//输出'abc', 默认参数,没有修饰符 end; procedure TForm1.Test1(var s:string); //传址 begin s:=s + '123'; end; procedure TForm1.Test2(const s:string); //常量 begin s:=s + '123'; //这是无法编译的 end; procedure TForm1.Test3(out s:string); //输出 begin s:=s + '123'; end; procedure TForm1.Test4(s:string); //默认参数,没有修饰符 begin s:=s + '123'; //创建了一个新的变量s,而不会对原来的变量值做修改 end;