[代码]密码最多输入三次出错退出

这个是登录窗口的一个验证机制,写法很多种,这是其中一种。

procedure TFrmOrderBy.BtnOrderClick(Sender: TObject);
begin
  if Length(EdtPassWord.Text) = 0  then
    Exit;
  with AQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select  pwdcompare(:Pass,loginpassword) from login where loginname=:LoginName');
    Parameters.ParamByName('Pass').Value := EdtPassWord.Text;
    Parameters.ParamByName('LoginName').Value := Trim(EdtLoginName.Text);
    Open;
    //密码验证成功进入主窗体
    if Fields[0].AsInteger = 1 then
    begin
      Self.Tag := 1;
      Self.Close;
    end
    else
    begin
      EdtPassWord.Clear;
      EdtPassWord.SetFocus;
      ShowMessage('密码错误');
      Inc(LoginCount);
    end;
    //如果密码验证三次不通过,退出系统
    if LoginCount >= 3 then
    begin
      Application.Terminate;
    end;
  end;
end; 
分享到:

0 条评论

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。

昵称

沙发空缺中,还不快抢~