有两个过程
procedure Search(value:String);
beginend;与procedure Search(var value:String);
beginend;这两种写法有什么具体区别呀!
讲详细点,或者给个能区分的例子。

解决方案 »

  1.   

    procedure Search(var value:String);
    begin
      value:=2;
    end;var value:string;
    begin
    search(value);
    //value值为2
    end;
      

  2.   

    在变量前面加Var指传递引用(地址),不加就是指直接传递变量值!
      

  3.   

    Delphi对于普通基本变量如integer,string默认调用方式为传值,也就是为变量复制一个副本;对于对象,默认的方式是传递地址,不复制副本;
    用VAR关键字可以让integer,string变量成为传址方式,在被调用函数中也可访问起值;对于对象都是默认传递地址的,如果想复制一个副本;
    可使用clone接口
      

  4.   

    tiger19760407(小老虎) 兄弟 说得对,第二种它会改变变量的值,也就是在过程对出后,会改变传递进去的那个参数的最终值