怎么实现窗体之间的参数传递 ? ( 积分: 50 )

  • 主题发起人 主题发起人 final2006
  • 开始时间 开始时间
F

final2006

Unregistered / Unconfirmed
GUEST, unregistred user!
刚学不久,网上也没有搜到。请大家帮助解决。

练习注册过程,不知道怎么实现。
2个窗体
窗体1上边有一Label('未注册'),一个按钮('注册'),点击按钮
弹出窗体2,填写用户名、注册码,确定后,检测,如果成功,关闭窗体2,窗体1的Label.Caption变成'已注册给:用户名'

谢谢。
 
刚学不久,网上也没有搜到。请大家帮助解决。

练习注册过程,不知道怎么实现。
2个窗体
窗体1上边有一Label('未注册'),一个按钮('注册'),点击按钮
弹出窗体2,填写用户名、注册码,确定后,检测,如果成功,关闭窗体2,窗体1的Label.Caption变成'已注册给:用户名'

谢谢。
 
可以自定义属性解决,但以下提供一个比较简单的实现方法。
如果返回值是字符串,可以用FORM2.caption. 如果是整型,可以用 Form2.tag
代码如下:
var
tpForm:TForm;
UserName:String;
begin
try
tpForm:=tForm2.Create(Nil);
tpForm.SHowModal;
UserName:=tpForm.Caption;
Finally
tpForm.Free;
end;
if UserName 是有效的用户名 then
Label1.Caption:=UserName;

注意的是:
在Form2 关闭前要把注册通过的用户名赋值给Form2.Caption, 如果未通过,最好写一个可以判断无效的值,如 Caption:='%%'等。
 
將兩個窗體相互引入單,然後就可以調用裡的變量了。
 
Form1的Interface部分的Uses中加上Form2所在的单元,Form2的implementation关键字后加上uses: Form1所在的单元;这样Form2就可以对Form1直接操作了。

if VerifyUser(User) then
begen
Form1.Caption := '已注册';
......
end
else
begin
....
end;
 
levi說得對,就用這個
 
Form1按键:
begin
Form2:=TForm2.Create(Application);
Form2.Label.Caption:=Label.Caption ; // Label.Caption是Form1的
Form2.SHowModal;//在Form2的按键里判断事件...
Label.Caption :='已注册给:用户名';
Form2.Free;
end;
 
我不知道这个问题的难度在哪里
因为可以直接赋值
最快捷的方式就是通过消息处理。
 
只需,用UNIT2引用unit1, 即在unit2的uses 列表里加上unit1那样
begin
当你经过判断注册成功后;
form1.Label1.Caption:='已注册给';
close;
end;
 
我所回答的问题都是亲自试过的哦
 
谢谢诸位。
 
谢谢诸位。
 
后退
顶部