为什么没有效果啊?

Win32Boy 2004-12-08 08:09:48
请看下面的代码:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click
else
showmessage('错误的用户名或密码!');
end;
为什么当我输入一串字符“123456+回车“时BitBtn1.Click没有效果呢?
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
alonesnake 2004-12-09
  • 打赏
  • 举报
回复
如果是密码验证敲回车后进入系统直接写
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
begin
form1.show;
end else
begin
showmessage('啊啊阿啊啊阿啊啊');
end;
jian23cn 2004-12-08
  • 打赏
  • 举报
回复
如 fyxi(羲子) 所说的,当你输入123456的时候就触发了onKeyPress事件,因为这些键值都不等于#13所以应该是一直跳出'错误的用户名或密码!'.所以只要:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click;
end;
就可以了,showmessage('错误的用户名或密码!');放到BitBtn1.Click;去判断
psp2003 2004-12-08
  • 打赏
  • 举报
回复
是不是按SHIFT再回车,就行是吧!
你把BitBtn1的属性Default改一下就行了

fyxi 2004-12-08
  • 打赏
  • 举报
回复
当然没效果了,因为你当你输入123456时已经就触发keyPree事件了

你可以去掉下面哪个ELSE
直接
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:Char);
begin
if (key=#13) then //当在Edit2中输入密码后,按回车键,执行密码检查
BitBtn1.Click;
end;

这样就没问题了,而showmessage('错误的用户名或密码!');这个你可以写到BITBTN的CLICK里判断

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧