怎样用edit.text作为过程调用的实参?(100分)

  • 主题发起人 主题发起人 xinjia
  • 开始时间 开始时间
X

xinjia

Unregistered / Unconfirmed
GUEST, unregistred user!
如何使用edit.text作为参数

我的程序
说明部分如下:
procdure addrec(var str1,str2,str3:string);

程序调用部分:
addrec(edit1.text,edit2.text,edit3.text);
执行到程序调用时报错,说是实参类型不符,请问如何解决
 
对象不能作为var变量,你用一个中间变量吧!
 
歪招:
procedure addrec(Edit1,Edit2,Edit3:TEdit);
对Edit1,Edit2,Edit3的字符串处理。

程序调用:
addrec(edit1,edit2,edit3);
 
对,不能是var型的.
 
对象的属性不能作为var参数,需要将它复制到一个中间变量,再作为var参数。
 
>>procedure addrec(Edit1,Edit2,Edit3:TEdit);
>>对Edit1,Edit2,Edit3的字符串处理。
用procedure addrec(var Edit1,Edit2,Edit3:TEdit);也可以
因为其实传递的都是指针。
 
1 不用 var 如上所说
2
var
s1,s2,s3,s4:string;
begin
s1:edit1。text;


调用
addrec(s1,s2,s3,s4);
 
多人接受答案了。
 
后退
顶部