📄 logonunit.pas
字号:
unit LogonUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, ADODB, DBTables, Buttons, Mask, DBCtrls;
type
TLogon = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Password: TEdit;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
Panel2: TPanel;
UserName: TComboBox;
procedure Button2Click(Sender: TObject);
procedure PasswordKeyPress(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure UserNameChange(Sender: TObject);
procedure UserNameDropDown(Sender: TObject);
private
iTimes: Integer; // 输入次数计数
{ Private declarations }
public
{ Public declarations }
end;
var
Logon: TLogon;
implementation
uses Main, DMUnit;
{$R *.dfm}
procedure TLogon.Button2Click(Sender: TObject);
begin
Application.Terminate; //结束该程序
end;
procedure TLogon.PasswordKeyPress(Sender: TObject; var Key: Char);
begin
if (key = #13) then //当输入完密码,敲入回车键,Button1执行单击操作
Button1Click(Sender);
end;
procedure TLogon.Button1Click(Sender: TObject);
var
i, j: Integer;
begin
Inc(iTimes);
MainForm.Auser.UserID := DM.User.FieldByName('用户编号').AsString;
MainForm.Auser.UserName := DM.User.FieldByName('用户名称').AsString;
if DM.User.FieldByName('用户编号').AsString = '' then
MessageBox(0, '没有存在用户,请预先设定好用户', '', MB_OK +
MB_ICONINFORMATION);
if Trim(Password.Text) = DM.User.FieldByName('密码').AsString then
begin
Close;
MainForm.Caption := '货运作业物流系统 ';
DecodeDate(now, year, month, day);
DecodeTime(Now, Hour, Min, Sec, MSec);
DM.UserLogin.Open;
DM.UserLogin.Append;
//记录登陆用户名
DM.UserLogin.FieldByName('用户名称').AsString := MainForm.Auser.UserName;
//记录登陆日期
DM.UserLogin.FieldByName('登陆日期').AsString := IntToStr(year) + '年' +
IntToStr(Month) + '月' + IntToStr(day) + '日';
DM.UserLogin.FieldByName('登陆时间').AsString := IntToStr(Hour) + '时' +
IntToStr(Min) + '分' + IntToStr(sec) + '秒';
DM.UserLogin.Post;
DM.UserLogin.Last;
{-- 取得用户权限,决定主窗体那些功能可用 --}
for i := 0 to MainForm.MainMenu1.items.Count - 1 do
for j := 0 to MainForm.MainMenu1.Items[i].Count - 1 do
MainForm.MainMenu1.items[i].Items[j].Enabled := False;
with MainForm do
begin {-- 主菜单是否可用,取决于数据库中预设的值 --}
ZY110.Enabled := DM.User.FieldByName('ZY110').AsBoolean;
ZY120.Enabled := DM.User.FieldByName('ZY120').AsBoolean;
ZY130.Enabled := DM.User.FieldByName('ZY130').AsBoolean;
ZY210.Enabled := DM.User.FieldByName('ZY210').AsBoolean;
ZY220.Enabled := DM.User.FieldByName('ZY220').AsBoolean;
ZY310.Enabled := DM.User.FieldByName('ZY310').AsBoolean;
CX110.Enabled := DM.User.FieldByName('CX110').AsBoolean;
CX120.Enabled := DM.User.FieldByName('CX120').AsBoolean;
CX210.Enabled := DM.User.FieldByName('CX210').AsBoolean;
CX220.Enabled := DM.User.FieldByName('CX220').AsBoolean;
CX310.Enabled := DM.User.FieldByName('CX310').AsBoolean;
CX320.Enabled := DM.User.FieldByName('CX320').AsBoolean;
JS110.Enabled := DM.User.FieldByName('JS110').AsBoolean;
JS210.Enabled := DM.User.FieldByName('JS210').AsBoolean;
JS220.Enabled := DM.User.FieldByName('JS220').AsBoolean;
JS230.Enabled := DM.User.FieldByName('JS230').AsBoolean;
JS240.Enabled := DM.User.FieldByName('JS240').AsBoolean;
JS310.Enabled := DM.User.FieldByName('JS310').AsBoolean;
JS320.Enabled := DM.User.FieldByName('JS320').AsBoolean;
JS410.Enabled := DM.User.FieldByName('JS410').AsBoolean;
JS420.Enabled := DM.User.FieldByName('JS420').AsBoolean;
JS510.Enabled := DM.User.FieldByName('JS510').AsBoolean;
WH110.Enabled := DM.User.FieldByName('WH110').AsBoolean;
WH120.Enabled := DM.User.FieldByName('WH120').AsBoolean;
WH210.Enabled := DM.User.FieldByName('WH210').AsBoolean;
WH310.Enabled := DM.User.FieldByName('WH310').AsBoolean;
WH320.Enabled := DM.User.FieldByName('WH320').AsBoolean;
WH330.Enabled := DM.User.FieldByName('WH330').AsBoolean;
WH340.Enabled := DM.User.FieldByName('WH340').AsBoolean;
WH350.Enabled := DM.User.FieldByName('WH350').AsBoolean;
WH360.Enabled := DM.User.FieldByName('WH360').AsBoolean;
WH410.Enabled := DM.User.FieldByName('WH410').AsBoolean;
WH420.Enabled := DM.User.FieldByName('WH420').AsBoolean;
FW110.Enabled := DM.User.FieldByName('FW110').AsBoolean;
FW120.Enabled := DM.User.FieldByName('FW120').AsBoolean;
FW210.Enabled := DM.User.FieldByName('FW210').AsBoolean;
FW220.Enabled := DM.User.FieldByName('FW220').AsBoolean;
Help110.Enabled := DM.User.FieldByName('Help110').AsBoolean;
end;
{-- 取得用户权限,决定主窗体那些功能可用 --}
end
else
MessageBox(0, '使用者代号或通行密码错误,请重新输入!' + #13#10 +
'并请确定您有进入的权限。', '', MB_OK + MB_ICONSTOP);
if iTimes = 3 then
begin
MessageBox(0, '您进行系统身份确认程序错误已经超过3次,本系统将停止执行!',
'', MB_OK + MB_ICONSTOP);
Application.Terminate;
end;
UserName.SetFocus;
end;
procedure TLogon.FormShow(Sender: TObject);
begin
// UserName.SetFocus;
button1.Click;
end;
procedure TLogon.UserNameChange(Sender: TObject);
begin
DM.User.Locate('用户名称', UserName.text, [])
end;
procedure TLogon.UserNameDropDown(Sender: TObject);
var
i: Integer;
begin
UserName.Clear; //清除里面的内容
DM.User.Open;
if (DM.User.RecordCount > 0) then
DM.User.First;
for i := 0 to DM.User.recordcount - 1 do
begin //得到所有的客户名称
UserName.Items.Add(DM.user.FieldByName('用户名称').AsString);
DM.User.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -