delphi 两种登录界面验证写法  
官方Delphi 学习QQ群: 682628230(三千人)\n
频道

delphi 两种登录界面验证写法


效果:如果登陆正确跳转到主界面,如果登陆不进去关闭或者重新登陆。

 

第1种思路:同时验证账号和密码是否对再判断,只判断一种情况即可;即都不对的时候提示;

 

procedure TFLogin.btn1Click(Sender: TObject);   //确认按钮

begin

 with frmDataPool.qry用户账号表 do

 begin

   Close;

   SQL.Text:='select * from 用户账号表 where admid = ' + QuotedStr(edtAdmid.Text) + ' AND admps = ' + QuotedStr(edtAdmps.Text);

   Open;

 end;

 if frmDataPool.qry用户账号表.IsEmpty then  //如果账号密码查不到,说明账号不存在

 begin

   ShowMessage('账号不存在');

   Exit;

 end;

  Self.Close;

end;

 

procedure TFLogin.btn2Click(Sender: TObject);

begin

if MessageDlg('确定退出吗,退出后程序将关闭', mtConfirmation , [mbYes,mbNo],0)=mrYes then

begin

FLogin.ModalResult:= mrCancel; //对话框mrcancel返回

form3.Close;

end

else

FLogin.ModalResult:=0;

end;

第2种方法:分别判断账号是否存在,密码是否错误

 

procedure TFLogin.btn1Click(Sender: TObject);

begin

with frmDataPool.qry用户账号表 do

begin

  Close;

  SQL.Text:='select * from 用户账号表 where admid = :admid ';

  Parameters.ParamByName('admid').Value:=edtAdmid.Text;    //为admin参数赋值;

  Open;

end;

  if frmDataPool.qry用户账号表['admps']=null then  //如果账号查找不到,说明账号错

  begin

    ShowMessage('账号不存在');

    Exit;

  end;

  if frmDataPool.qry用户账号表['admps'] <> edtadmps.Text then

  begin

    ShowMessage('密码错');

    exit;

  end;

  FLogin.ModalResult:=mrOk;//对话框mrok返回

 

end;

 

 

procedure TFLogin.btn2Click(Sender: TObject);

begin

 if MessageDlg('确定要退出?',mtConfirmation,[mbYes,mbNo],0)=mryes then

 begin

 FLogin.ModalResult:=mrCancel ;

 Form3.Close;

 end

else

 FLogin.ModalResult:=0;

end;

附注:

 

在主窗口的onactive事件中添加:

 

procedure TForm3.FormActivate(Sender: TObject);

begin

 if FLogin.showmodal=mrok then

  form3.show;

end;




https://www.cnblogs.com/ddxxxb/p/6879679.html

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.046838045120239 seconds