帮我看一下下面的过程中的参数是什么意思??(delphi菜鸟) var 代表过程运行时还要对其修改;还有const,表示只为传值之用,运行过程中不改变 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var声明的是变参,就是说,在该过程或函数中对此参数的处理会影响到它~~换句话说,如果不是用var声明的,那么在函数中会copy一个副本,对这个副本的操作不影响原来的变量直。但是变参就不用了,在函数中也是对这个变量进行操作。 前面有var的变量是变参,没有var的变量是值参。当变量是变参时,参数可以在程序当中改变,而且在一个的情况下,值可以传出来。比如说:procedure canchange(var n:integer);begin n=6;end;procedure nochange(n:integer);begin n=6;end;下面在程序中调用它:var n1,n2:integer;begin n1:=0; n2:=0; canchange(n1); nochange(n2); showmessage(inttostr(n1)); //这个时候,n1的值为6,从0变到6,显示的也是6; showmessage(inttostr(n2)); //这个时候,n2的值还是为0,虽然在过程nochange中改变了值,但是传不出来。显示为0;end;诸如此类,请细细体会其中曲折,其实刚开始我也是很迷惑的,现在也算还好吧,不太复杂的还是能知道的。还有你把它写成函数的形式也是可以的,不过return 一个相应的值。不过看你的意思,好象是实现互换数字也就是相互赋值的功能,所以觉得没有什么必要用函数了。 来玩藏头诗 數據更新錯誤,請高手幫忙看看! delphi怎样提示该软件是否已打开? 在线向高手请教:用delphi+access写cs程序不知访问数据库的代码如何写 开发600人的生产企业的ERP需多长时间? 初级问题 跪求适用汽车客运站的物流系统(或者叫行包快件)的数据库设计?UP者有分。 DElPHI 中为什么EDIT控件不能接收CtrL+V键 请教一个MsComm控件的问题(串口通讯)! 为何删除ADO连接的数据库中的记录系统会出错? 怎么从一串字符中提出email地址?!(up有分) 特别怪呀:对禁止某键的输入不起作用!!!看里面:(这代码我都用好多次了)
当变量是变参时,参数可以在程序当中改变,而且在一个的情况下,值可以传出来。比如说:
procedure canchange(var n:integer);
begin
n=6;
end;procedure nochange(n:integer);
begin
n=6;
end;
下面在程序中调用它:
var
n1,n2:integer;
begin
n1:=0;
n2:=0;
canchange(n1);
nochange(n2);
showmessage(inttostr(n1));
//这个时候,n1的值为6,从0变到6,显示的也是6;
showmessage(inttostr(n2));
//这个时候,n2的值还是为0,虽然在过程nochange中改变了值,但是传不出来。显示为0;end;诸如此类,请细细体会其中曲折,其实刚开始我也是很迷惑的,现在也算还好吧,不太复杂的还是能知道的。还有你把它写成函数的形式也是可以的,不过return 一个相应的值。不过看你的意思,好象是实现互换数字也就是相互赋值的功能,所以觉得没有什么必要用函数了。