?? unitloginform.pas
字號:
unit UnitLoginForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, RzLabel, RzPrgres, RzButton, ExtCtrls, Mask, RzEdit, Registry,
jpeg, ComCtrls, RzBtnEdt, RzCmboBx;
type
TLoginForm = class(TForm)
RzEdit1: TRzEdit;
RzEdit2: TRzEdit;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
ProgressBar1: TProgressBar;
Panel1: TPanel;
Image1: TImage;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzEdit1KeyPress(Sender: TObject; var Key: Char);
procedure RzEdit2KeyPress(Sender: TObject; var Key: Char);
private
LogNum : integer;
public
end;
var
LoginForm: TLoginForm;
implementation
uses UnitDM, UnitPublicFunction;
{$R *.DFM}
procedure TLoginForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TLoginForm.FormShow(Sender: TObject);
begin
RzEdit1.SetFocus;
end;
procedure TLoginForm.RzBitBtn1Click(Sender: TObject);
var
Oper, Password : string;
LogPassword,LogName : string;
Reg: TRegistry;
begin
ProgressBar1.Min := 0;
ProgressBar1.Max := 3;
ProgressBar1.Step:= 1;
//限定次數(shù)
if LogNum >2 then
begin
Application.MessageBox('三次登錄失敗,系統(tǒng)自動關(guān)閉!','提示',MB_OK or MB_ICONERROR);
Application.Terminate;
end;
//空值校驗
Oper := Trim(RzEdit1.Text);
Password := Trim(RzEdit2.Text);
if Oper='' then
begin
Application.MessageBox('請輸入工號!','提示',MB_OK or MB_ICONERROR);
RzEdit1.SetFocus;
Exit;
end;
//取數(shù)據(jù)庫密碼
with DM1.ADOQuery1 do
begin
try
Close;
SQL.Clear;
SQL.Text := ' select password,username from tab_user where userid=:oper and status=1 ';
Parameters.ParamByName('oper').value := Oper;
Open;
if not Eof then
begin
LogPassword := FieldByName('password').AsString;
LogName := FieldByName('username').AsString;
end
else
begin
LogNum := LogNum + 1;
Application.MessageBox('非法用戶','提示',MB_OK or MB_ICONERROR);
RzEdit1.SetFocus;
Exit;
end;
Close;
except
Application.MessageBox('數(shù)據(jù)庫打開失敗!','提示',MB_OK or MB_ICONERROR);
Application.Terminate;
end;
end;
if Password <> DePwd(LogPassword,1) then
begin
LogNum := LogNum + 1;
Application.MessageBox('密碼錯誤!','提示',MB_OK or MB_ICONERROR);
RzEdit2.SetFocus;
Exit;
end;
UserID := Oper;
UserName := LogName;
UserPWD := Password;
//1.填寫注冊表
ProgressBar1.StepIt;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(REGSHOPMIS,True) then
Reg.WriteString('User',Oper);
finally
Reg.CloseKey;
Reg.Free;
end;
//2.獲取品名機型
DM1.GetGoodsNameType;
ProgressBar1.StepIt;
//3.獲取柜臺
DM1.GetGoodsOwner;
ProgressBar1.StepIt;
ProgressBar1.Position := ProgressBar1.Max;
ModalResult := mrOK;
end;
procedure TLoginForm.RzBitBtn2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TLoginForm.FormCreate(Sender: TObject);
var
Reg : TRegistry;
begin
LogNum := 0;
RzEdit1.Clear;
RzEdit2.Clear;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
if Reg.OpenKey(REGSHOPMIS,True) then
RzEdit1.text:=Reg.ReadString('User');
finally
Reg.CloseKey;
Reg.Free;
end;
end;
procedure TLoginForm.RzEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then RzEdit2.SetFocus;
end;
procedure TLoginForm.RzEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then RzBitBtn1.Click;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -