⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmregisteru.pas

📁 图书借阅管理系统含源代码
💻 PAS
字号:
unit frmRegisterU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TfrmRegister = class(TForm)
    combName: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    edPass: TEdit;
    btnOk: TBitBtn;
    btnExit: TBitBtn;
    CheckBox1: TCheckBox;
    Label3: TLabel;
    Label4: TLabel;
    edq: TEdit;
    eda: TEdit;
    Button1: TButton;
    procedure btnOkClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure combNameChange(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmRegister: TfrmRegister;

implementation

uses DMU, frmMainU, frmOptionsU;
var
  i:integer;
{$R *.dfm}

procedure TfrmRegister.btnOkClick(Sender: TObject);
var
  Pass,Str:String;
begin
  Dm.adoUser.Close;
  Dm.adoUser.SQL.Clear;
  Dm.adoUser.SQL.Text:='Select * from lpUser where Name='+QuotedStr(combName.Text);
  Dm.adoUser.Open;

  if Dm.adoUser.RecordCount=0 then
  begin
    MessageBox(0,'用户名错误。','提示',MB_OK+MB_TASKMODAL+MB_ICONSTOP);
    combName.SetFocus;
    exit;
  end;

  Pass:=Dm.adoUser.FieldByName('Pass').AsString;
  if (edPass.Text='') and (Pass='')then
    frmMain.LogonEnable(True)
  else
  begin
    Str:=Dm.MD5(edPass.Text);
    if str=Pass then
      frmMain.LogonEnable(True)
    else
    begin
      i:=i+1;
      MessageBox(0,'密码错误。','提示',MB_OK+MB_TASKMODAL+MB_ICONSTOP);
      edPass.SetFocus;
      if i=3 then
        Application.Terminate;
      exit;
    end;
  end;
  
  if (Dm.adoUser.FieldByName('Pass').AsString='') and (combName.Text='Admin')then
    MessageBox(0,'Admin是系统管理员帐号,并不推荐使用空密码,请立即到“系统”菜单下的用户管理处设置密码。','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
//========================
  Dm.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='select * from LoanOption';
  Dm.adoTemp.Open;
  if Dm.adoTemp.RecordCount=0 then
  begin
    MessageBox(0,'请先设置好借书设置','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
    Application.CreateForm(TfrmOptions, frmOptions);
    frmOptions.pagc1.ActivePageIndex:=2;
    frmOptions.ShowModal;
  end;
  Dm.adoTemp.Close;
  Dm.adoUser.Close;
  Dm.adoLpCon(True,Trim(combName.Text));
  Close;
end;

procedure TfrmRegister.btnExitClick(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TfrmRegister.FormShow(Sender: TObject);
begin
  frmRegister.Height:=160;
  Dm.adoUser.Close;
  Dm.adoUser.SQL.Clear;
  Dm.adoUser.SQL.Text:='select * from lpUser';
  DM.adoUser.Open;
  Dm.adoUser.First;
  combName.Clear;
  edQ.Clear;
  edA.Clear;
  while not Dm.adoUser.Eof do
  begin
    combName.Items.Add(Dm.adoUser.FieldByName('Name').AsString);
    Dm.adoUser.Next();
  end;
  Dm.adoUser.Close;
  combName.ItemIndex:=-1;
  i:=0;
  edPass.Clear;
  combName.SetFocus;
end;

procedure TfrmRegister.combNameChange(Sender: TObject);
begin
  if combName.Text='Admin' then
    checkBox1.Enabled:=True
  else
    checkBox1.Enabled:=False;
end;

procedure TfrmRegister.CheckBox1Click(Sender: TObject);
begin
  if checkBox1.Checked then
  begin
    Dm.adoTemp.Close;
    DM.adoTemp.SQL.Clear;
    Dm.adoTemp.SQL.Text:='select * from qa';
    DM.adoTemp.Open;
    if Dm.adoTemp.RecordCount=0 then
    begin
      MessageBox(0,'很遗憾,你尚未设置问题与答案,上帝保佑你。。。','!!!',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
      Dm.adoTemp.Close;
      exit;
    end;
    frmRegister.Height:=267;
    edQ.Text:=Dm.adoTemp.FieldByName('Problem').AsString;
    Dm.adoTemp.Close;
    btnOk.Enabled:=False;
    combName.Enabled:=False;
  end
  else
  begin
    frmRegister.Height:=160;
    btnOk.Enabled:=True;
    combName.Enabled:=True;
  end;
end;

procedure TfrmRegister.Button1Click(Sender: TObject);
begin
  DM.adoTemp.Close;
  Dm.adoTemp.SQL.Clear;
  Dm.adoTemp.SQL.Text:='select * from qa';
  DM.adoTemp.Open;
  if Dm.MD5(edA.Text)=Dm.adoTemp.FieldByName('Answer').AsString then
  begin
    MessageBox(0,'答案正确,Admin的密码被删除,你可以使用空密码进入系统!','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
    Dm.adoTemp2.Close;
    Dm.adoTemp2.SQL.Clear;
    Dm.adoTemp2.SQL.Text:='select * from lpUser where name='+QuotedStr('Admin');
    DM.adoTemp2.Open;
    Dm.adoTemp2.Edit;
    Dm.adoTemp2.FieldByName('Pass').AsString:='';
    Dm.adoTemp2.Post;
    Dm.adoTemp2.Close;
    checkBox1.Checked:=False;
    edPass.Clear;
    Dm.adoTemp.Close;
    btnOk.Click;
  end
  else
  begin
    MessageBox(0,'对不起,你回答的答案不正确。','提示',MB_OK+MB_TASKMODAL+MB_ICONSTOP);
    Dm.adoTemp.Close;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -