请教高手一个小问题!!

Douglas777 2001-11-02 12:12:07
为什么我下面的代码如何改才能实现只有在输入用户名和口令都通过才关闭窗口?
procedure TfrmDengLu.BitBtn1Click(Sender: TObject);
begin
if ComboBox1.Text='' then
Panel2.Caption:='请选择用户名'
else
begin
with DM1.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from 用户');
sql.Add('where 姓名='''+Combobox1.Text+'''');
sql.Add('and 口令='''+Edit1.Text+'''');
open;

if (Edit1.Text<>FieldValues['口令']) then
begin
Panel2.Caption:='口令不正确';
Edit1.SetFocus;
end
else
begin
MainForm.N3.Enabled:=true;
mainForm.N14.Enabled:=true;
MainForm.N2.Enabled:=false;
close;
end;
end;
end;
end;
...全文
47 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdkogh 2001-11-02
  • 打赏
  • 举报
回复
var
myCanClose: Boolean=False;

procedure TfrmDengLu.BitBtn1Click(Sender: TObject);
begin
if ComboBox1.Text='' then
Panel2.Caption:='请选择用户名'
else
begin
with DM1.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from 用户');
sql.Add('where 姓名='''+Combobox1.Text+'''');
sql.Add('and 口令='''+Edit1.Text+'''');
open;

if IsEmpty then
begin
Panel2.Caption:='口令不正确';
Edit1.SetFocus;
end
else
begin
MainForm.N3.Enabled:=true;
mainForm.N14.Enabled:=true;
MainForm.N2.Enabled:=false;
myCanClose := True;
Close;
end;
end;
end;
end;

procedure TfrmDengLu.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := myCanClose;
end;
Douglas777 2001-11-02
  • 打赏
  • 举报
回复
试试
数字蛋糕 2001-11-02
  • 打赏
  • 举报
回复
事件OnCloseQuery.
当然如果用NT的任务管理器来杀进程那就没办法了.

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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