⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logonunit.pas

📁 货物配送管理系统对配送服务
💻 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 + -