📄 register.pas
字号:
unit register;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, DBCtrls, ExtCtrls, Mask, Commfunc,inifiles, ComCtrls;
type
TFormRegister = class(TForm)
Label1: TLabel;
Bevel1: TBevel;
Bevel2: TBevel;
Label2: TLabel;
Label3: TLabel;
EditPassWord: TEdit;
BitBtnOK: TBitBtn;
BitBtnCancel: TBitBtn;
Bevel3: TBevel;
Label4: TLabel;
ComboBoxName: TComboBoxEx;
procedure FormCreate(Sender: TObject);
procedure BitBtnCancelClick(Sender: TObject);
procedure BitBtnOKClick(Sender: TObject);
procedure ComboBoxNameChange(Sender: TObject);
procedure Label4Click(Sender: TObject);
private
TryCount:Integer;
procedure ConnectDb;
public
{ Public declarations }
end;
implementation
uses DataMod, MainForm, InitDbSetUnit;
{$R *.DFM}
procedure TFormRegister.ConnectDb;
var{填充数据库连接菜单}
IniF : TIniFile;
ActCntName : String;
NameList : TStringList;
FormInitDBSet : TFormInitDBSet;
Connstring : String;
i : Integer;
begin
IniF:=TIniFile.Create(IniFileName);
NameList:=TStringList.Create;
IniF.ReadSection('数据连接',NameList);
ActCntName:=IniF.ReadString('设置','活动连接','');
for I:=0 to NameList.Count-1 do begin
if(NameList.Strings[I]=ActCntName)then
ConnString:=UncrypKeyPassword(IniF.ReadString('数据连接',NameList.Strings[I],''));
end;
if ConnString='' then begin
Application.MessageBox('没有活动连接,请重新设置!','系统提示',MB_OK+MB_ICONWARNING);
FormInitDBSet:=TFormInitDBSet.Create(nil);
FormInitDBSet.ShowModal;
FormInitDBSet.Free;
IniF.ReadSection('数据连接',NameList);
ActCntName:=IniF.ReadString('设置','活动连接','');
for I:=0 to NameList.Count-1 do begin
if(NameList.Strings[I]=ActCntName)then
ConnString:=UncrypKeyPassword(IniF.ReadString('数据连接',NameList.Strings[I],''));
end;
end;
IniF.Free;
NameList.Free;
with DataMD.ADOConnection do begin
Connected:=False;
ConnectionString:=ConnString;
try
Connected:=True;
ComboBoxName.Items.Clear;
EditPassWord.Text:='';
with DataMD.OpenQuery('select 姓名,ID from xt_zhanghu order by ID') do begin
First;
while not Eof do begin
ComboBoxName.ItemsEx.AddItem(FieldByName('姓名').AsString,FieldByName('ID').AsInteger,-1,-1,-1,nil);
Next;
end;
Close;
end;
except
on e:Exception do
Application.MessageBox(PChar(e.message),'系统提示',MB_OK+MB_ICONWARNING);
end;
end;
end;
procedure TFormRegister.FormCreate(Sender: TObject);
begin
ConnectDb;
TryCount:=0;
end;
procedure TFormRegister.BitBtnCancelClick(Sender: TObject);
begin
ModalResult:=mrCancel;
end;
procedure TFormRegister.BitBtnOKClick(Sender: TObject);
var
XPasswd:string;
begin
if(ComboBoxName.ItemIndex=-1)then begin
ShowMessage('请选择用户名!');
exit;
end;
XPasswd:=HashPasswordForStoringInConfigFile(EditPassword.Text,'SHA1');
with DataMD do begin
OpenPubQuery('select * from xt_zhanghu where ID='+InttoStr(ComboBoxName.ItemsEx[ComboBoxName.ItemIndex].ImageIndex)+' and 密码='''+XPasswd+'''',False);
if not QueryPublic.Eof then begin
OpName:=QueryPublic.FieldByName('姓名').AsString;
OpID:=QueryPublic.FieldByName('ID').AsInteger;
with OpenQuery('select 1 from sf_xt_zhanghu where ID ='+InttoStr(OpID)) do begin
if RecordCount=0 then begin
Close;
ShowMessage('这个帐号没有进入收费程序的权利!');
Exit;
end
else begin
Close;
ModalResult:=mrOK;
end;
end;
end
else begin
inc(TryCount);
if TryCount>3 then begin
ShowMessage('如果您确实忘记了密码,请联系系统管理员');
ModalResult:=mrCancel;
end
else begin
ShowMessage('密码错误,请重新输入');
EditPassword.SetFocus;
end;
end;
end;
end;
procedure TFormRegister.ComboBoxNameChange(Sender: TObject);
begin
EditPassWord.Text:='';
EditPassWord.SetFocus;
end;
procedure TFormRegister.Label4Click(Sender: TObject);
var
FormInitDBSet : TFormInitDBSet;
begin
FormInitDBSet:=TFormInitDBSet.Create(nil);
FormInitDBSet.ShowModal;
FormInitDBSet.Free;
ConnectDb;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -