📄 frmregisteru.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 + -