回 帖 发 新 帖 刷新版面

主题:登录问题再次请教

本人初学Delphi在一个登录问题时碰到如下问题:在登录时,若输入的密码有错时,不能聚焦到输入密码的Edit1文本框中,而是自动退出了系统,本人编写的代码是:
var
  login: Tlogin;
  flag:boolean;
  i:integer;

implementation

{$R *.dfm}

procedure Tlogin.FormShow(Sender: TObject);
begin
    Adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from 操作员表');
    Adoquery1.Open;
    while not  Adoquery1.Eof do
    begin
    combobox1.Items.Add(Adoquery1.Fields[1].asstring);
    Adoquery1.Next;
    end;


end;

procedure Tlogin.BitBtn1Click(Sender: TObject);
begin
  with Adoquery1 do
  begin
  Adoquery1.Close;
  Adoquery1.SQL.Clear;
  Adoquery1.SQL.Add('select * from 操作员表 where 操作员姓名='''+combobox1.Text+''' and  操作员密码='''+edit1.text+'''');
  Adoquery1.open;
  end;
  if Adoquery1.RecordCount>0 then
  begin
  flag:=true;
  combobox1.Clear;
  Edit1.Clear;
  Adoquery1.Close;
  end
  else
  begin
  if i<3 then
  begin
  showmessage('密码输入错误,请重输!');
  Edit1.Clear;
  edit1.SetFocus;
  inc(i);
  end
  else
  begin
   showmessage('对不起,你无权使用本系统.');
   application.Terminate;
   end;
  end;
  end;




procedure Tlogin.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if flag=false then
 begin
  Application.Terminate;
  end
end;

本人改了很多次,都不能实现输入密码错误时,自动聚焦到edit1 文本框中,
请各位高手指点一二啊,最好能有改过的程序代码;
若有更好的其它登录代码不防告诉小妹啊,不甚感激!

回复列表 (共3个回复)

沙发


在退出之前有没有提示“对不起,你无权使用本系统”这个消息呢?

板凳

有啊,我是想在三次输入密码都错误的情况下,再提示你无权使用本系统,然后退出,但在输入一次后两次错误的时候是聚焦到重新输入啊

3 楼

这种问题自己单步跟踪一下就ok了

我来回复

您尚未登录,请登录后再回复。点此登录或注册