procedure TForm1.Button1Click(Sender: TObject);
begin
r:= false;
name:=form1.edit1.text;
password:=form1.edit2.text;
for i:=1 to 3 do
if (name='sa')and(password='nmdata') then
begin
r:= true;
form1.Hide;
form2.Show;
break
end
else
begin
showmessage(password);
form1.Show;
form1.edit1.setfocus;
break
end;
end;
end.
就是只有三次登录机会,如果都输入错误,将关闭窗口,如何做?
begin
r:= false;
name:=form1.edit1.text;
password:=form1.edit2.text;
for i:=1 to 3 do
if (name='sa')and(password='nmdata') then
begin
r:= true;
form1.Hide;
form2.Show;
break
end
else
begin
showmessage(password);
form1.Show;
form1.edit1.setfocus;
break
end;
end;
end.
就是只有三次登录机会,如果都输入错误,将关闭窗口,如何做?
解决方案 »
- delphi 使用TThreadList的remove方法时......
- delphi如何实现自删除?
- delphi 基础用法讨论请行伍出身的来看看,本人半路出家。
- 压缩和解压缩文件的两段代码,解压缩出错,请高手指正
- 高手请进!SQL执行出现并行错误lock!请大家看看!错误:8650!
- 如何发送HTML邮件?DELPHI6
- 请问,哪位有 Optibase视频解码卡的SDK?
- 欢迎讨论,一个关于动态建立组件的问题!!!
- 如何在Webbrowser得OnNewWindow2事件中取得新网页得url;
- 如何得到一个窗口关闭的消息,并得到被关闭窗口的句柄?
- 请问关于chart控件的坐标问题~谢谢~
- 下面两个表合并能不能用一条SQL语句执行
begin
inc(i);
if i<=3 then begin end
else begin
showmessage('你已输入密码超过3次');
from1.close;//自动退出系统
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
end;end.
计数器变量应该是全局变量每单击一次,记录一次,var i:integer=1; i:=i+1;
procedure TForm1.Button1Click(Sender: TObject);
begin
r:= false;
name:=form1.edit1.text;
password:=form1.edit2.text;
for i:=1 to 3 do //F5设置断点后,F8单步执行,鼠标悬浮在变量位置,察看变量的值
if (name='sa')and(password='nmdata') then
begin
r:= true;
form1.Hide;
form2.Show;
break
end
else
begin
showmessage(password);
form1.Show;
form1.edit1.setfocus;
break
end;
end;
for i:=1 to 3 do
if (name='sa')and(password='nmdata') then
begin
r:= true;
form1.Hide;
form2.Show;
break
end
else
begin
showmessage(password);
form1.Show;
form1.edit1.setfocus;
break
end;
这样你不管密码是否正确的话都会执行同样三次的判断!这样试试看
全局变量: integer:i;
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if (name='sa')and(password='nmdata') then
begin
r:= true;
form1.Hide;
form2.Show;
break//(这句好象没有必要!)
end
else
begin
i:=i+1;
if i>=3 then
begin
MessageDlg('只能登陆三次!程序终止!','错误',mterror,[MBOK],0);
close();
end;
end;
end;
程序只输入了一次(click事件发生)
接着呢?循环三次(同一个比较简单的重复三次)
这样当然没用~你应该纪录用户提交的次数,也就是buttonclick的次数(如果超过3次就退出程序)即设置一个窗体级变量,没buttonclick一次就变量++;具体还是自己写代码吧~这样好一些~