?? ulogin.pas
字號:
unit uLogin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons,DB, DBTables,AdoDB;
type
TfrmLogin = class(TForm)
Label1: TLabel;
Panel1: TPanel;
edtPassword: TEdit;
StaticText1: TStaticText;
StaticText2: TStaticText;
cmbUserName: TComboBox;
btnOK: TSpeedButton;
btnCancel: TSpeedButton;
procedure btnCancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure edtPasswordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
implementation
uses Main,uPublic,uDB;
{$R *.DFM}
//在確認按鈕被點擊后,檢查操作者表中是否相應的操作人員和口令
procedure TfrmLogin.btnOKClick(Sender: TObject);
var
Query : TADOQuery;
begin
//如果驗證輸入的口令正確,則進入主操作界面
try
//檢查操作人員表中是否有匹配記錄
Query := TADOQuery.Create(nil);
Query.Connection := dmWarehouse.ACWarehouse ;
Query.SQL.Add('select * from Operator where UserName=:UserName and userpwd=:userpwd');
Query.Parameters.ParamByName('UserName').Value := cmbUsername.Text ;
Query.Parameters.ParamByName('userpwd').Value := edtpassword.Text ;
Query.Open;
if Query.RecordCount = 0 then
begin
MessageDlg('請輸入正確的用戶名和密碼',mtError,[mbok],0);
Exit;
end;
//根據不同的操作員級別,允許進行不同的功能操作
if query.FieldByName('class').AsInteger =0 then
begin
//超級用戶擁有全部權限
mainform.menuSRight.Enabled :=true;
mainform.menuSWarehouse.Enabled := true;
mainform.menuWSld.Enabled :=true;
mainform.menuWBMLL.Enabled:=true;
mainform.menuWBmda.Enabled:=true;
mainform.menuWZGDA.Enabled:=true;
mainform.menuWKCPD.Enabled:=true;
mainform.menuWCLGL.Enabled:=true;
end;
if query.FieldByName('class').AsInteger =1 then
begin
//操作員用戶擁有除"權限管理"外的全部權限
mainform.menuSRight.Enabled :=false;
mainform.menuSWarehouse.Enabled := true;
mainform.menuWSld.Enabled :=true;
mainform.menuWBMLL.Enabled:=true;
mainform.menuWBmda.Enabled:=true;
mainform.menuWZGDA.Enabled:=true;
mainform.menuWKCPD.Enabled:=true;
mainform.menuWCLGL.Enabled:=true;
end;
edtpassword.Text :=''; //密碼信息要清空
Query.Close;
Query.Free;
mainform.Show;
frmLogin.close;
except
MessageDlg('連接數據庫出錯!',mtError,[mbok],0);
end;
end;
procedure TfrmLogin.btnCancelClick(Sender: TObject);
begin
ModalResult := mrCancel;
frmLogin.Close ;
end;
//登陸窗體顯示時,口令編輯框獲得焦點
procedure TfrmLogin.FormShow(Sender: TObject);
begin
edtPassword.SetFocus ;
end;
//窗體創建時,讀取操作者表中的操作者名稱
procedure TfrmLogin.FormCreate(Sender: TObject);
var
Query : TADOQuery;
begin
cmbusername.Clear ;
try
Query := TADOQuery.Create(nil);
Query.Connection := dmWarehouse.ACWarehouse ;
Query.SQL.Add('select username from Operator ');
Query.Open;
if Query.RecordCount = 0 then
begin
MessageDlg('沒有可以登陸的用戶名',mtError,[mbok],0);
Exit;
end else
begin
Query.First ;
while Query.Eof =false do
begin
cmbUserName.items.add(query.FieldByName('Username').asstring );
Query.next;
end
end;
Query.Close;
Query.Free;
cmbusername.ItemIndex :=0 ;
except
MessageDlg('連接數據庫出錯!',mtError,[mbok],0);
end;
end;
procedure TfrmLogin.edtPasswordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
btnOKClick(Sender);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -