求Delphi实例中的Button代码

来源:百度知道 编辑:UC知道 时间:2024/07/02 08:06:38
密码校验系统,实现如下功能:当密码输入正确,单击“确定”按钮,显示“欢迎使用本系统”;如果输入的密码错误,单击“确定”按钮,显示“密码错”;如果连续三次输入密码错误,显示“对不起,你无权使用”,并且密码输入框和命令按钮不可用。
求相应的Button代码
const
pw='abcd1234';
var
Form1: TForm1;
i:integer=0;

procedure TForm1.Button1Click(Sender: TObject);
begin
if edit2.Text<>pw then
begin
showmessage('Wrong password!');
i:=i+1;
if i=3 then
begin
button1.Enabled:=false;
edit2.Enabled:=false;
end;
end
else showmessage('Wellcome to FOO system.');

end;

该答案有2个问题:
1. (Form1: TForm1;)有什么作用?如果去掉,代码段可以执行。
2.代码段运行,如果第一次输入的是正确的密码,再连续输入2次错误密码,按钮和输入框被锁死,这与程序要求不符。
望高手帮忙解答,谢谢

const
pw='abcd1234';
var
Form1: TForm1;
i:integer=0;

procedure TForm1.Button1Click(Sender: TObject);
begin
if edit2.Text<>pw then
begin
showmessage('Wrong password!');
i:=i+1;
if i=3 then
begin
button1.Enabled:=false;
edit2.Enabled:=false;
end;
end
else showmessage('Wellcome to FOO system.');

end;

1 Form1是TForm1类的变量,不可以删除呀,编译通不过的。

2 问题:如果第一次输入的是正确的密码,再连续输入2次错误密码,按钮和输入框被锁死,这与程序要求不符。
这不对的,第一次输入正确,后面也要输入三次错误密码才会锁死。第一次不对,第二次对了就会产生你说的效果。else 语句后面改成
begin showmessage('Wellcome to FOO system.');i:=0;end;
就行了。