ulogin.~pas

来自「很好的汽车管理系统 很实用的 谢谢合作」· ~PAS 代码 · 共 153 行

~PAS
153
字号


unit ULOGIN;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ExtCtrls, jpeg;

type
  TLOGIN = class(TForm)
    User: TComboBox;
    PassWord: TEdit;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Label3: TLabel;
    Label4: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    Image1: TImage;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    procedure SpeedButton2Click(Sender: TObject);
    procedure UserDropDown(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure UserChange(Sender: TObject);
    procedure PassWordKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
  private
     iTimes: Integer; // 输入次数计数
    { Private declarations }
  public

    { Public declarations }
  end;

var
  LOGIN: TLOGIN;

implementation

uses UDM, UMain, USC;

{$R *.dfm}

procedure TLOGIN.SpeedButton2Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TLOGIN.UserDropDown(Sender: TObject);
var
  i:integer;
begin
  User.Clear;
  DM.Qoper.Open;
  if (DM.Qoper.RecordCount>0) then
    DM.Qoper.First;
  for i:=0 to DM.Qoper.RecordCount-1 do
  begin   //得到所有用户名称
    User.Items.Add(DM.Qoper.FieldByName('username').AsString);
    DM.Qoper.Next;
  end;
end;


procedure TLOGIN.SpeedButton1Click(Sender: TObject);
var
  i,j:integer;
begin
  Inc(iTimes);
  Main.Auser.UserID:=DM.Qoper.FieldByName('userno').AsString;
  Main.Auser.UserName:=DM.Qoper.FieldByName('username').AsString;
  if DM.Qoper.FieldByName('userno').AsString='' then
    Application.MessageBox('没有用户存在,请预先设定好用户!','提示',4);
  if Trim(PassWord.Text)=DM.Qoper.FieldByName('pas').AsString then
  begin
    Close;
    Main.Caption:='明日汽车租赁管理系统V4.5版';
    DecodeDate(now,year,month,day);
    DecodeTime(now,hour,min,sec,msec);
    DM.Quser.Open;
    DM.Quser.Append;
    //记录登录用户名
    DM.Quser.FieldByName('username').AsString:=Main.Auser.UserName;
    //记录登录日期
    DM.Quser.FieldByName('logindate').AsString:=IntToStr(year)+'年'+IntToStr(month)+'月'+IntToStr(day)+'日';
    DM.Quser.FieldByName('logintime').AsString:=IntToStr(hour)+'时'+IntToStr(min)+'分'+IntToStr(sec)+'秒';
    DM.Quser.Post;
    DM.Quser.Last;
    //取得用户权限
    for i:=0 to Main.MainMenu1.Items.Count-1 do
      for j:=0 to Main.MainMenu1.Items[i].Count-1 do
        Main.MainMenu1.Items[i].Items[j].Enabled:=True;
        Main.SpeedButton1.Enabled:=True;
        Main.SpeedButton2.Enabled:=True;
        Main.SpeedButton3.Enabled:=True;
        Main.SpeedButton4.Enabled:=True;
        Main.SpeedButton5.Enabled:=True;
        Main.SpeedButton6.Enabled:=True;
        Main.SpeedButton8.Enabled:=True;
        Main.N24.Enabled:=False;
        Main.N25.Enabled:=False;
        Main.N27.Enabled:=False;
        Main.N31.Enabled:=False;
      with Main do
      begin  //主菜单是否可用,取决于数据库中预设的值
        n1.Enabled:=DM.Qoper.FieldByName('n1').AsBoolean;
        SpeedButton1.Enabled:=DM.Qoper.FieldByName('N1').AsBoolean;
        SpeedButton2.Enabled:=DM.Qoper.FieldByName('n1').AsBoolean;
        n2.Enabled:=DM.Qoper.FieldByName('n2').AsBoolean;
        SpeedButton5.Enabled:=DM.Qoper.FieldByName('N2').AsBoolean;
        SpeedButton6.Enabled:=DM.Qoper.FieldByName('n2').AsBoolean;
        n11.Enabled:=DM.Qoper.FieldByName('n11').AsBoolean;
        SpeedButton3.Enabled:=DM.Qoper.FieldByName('N11').AsBoolean;
        SpeedButton4.Enabled:=DM.Qoper.FieldByName('N11').AsBoolean;
        SpeedButton8.Enabled:=DM.Qoper.FieldByName('N11').AsBoolean;
        n5.Enabled:=DM.Qoper.FieldByName('n5').AsBoolean;
      end;
  end
  else
    begin
      Messagebox(0,'用户名或密码错误,请重新输入!'+#13#10+'并请确定您有进入的权限。','',MB_OK+MB_ICONSTOP);
      password.Text:='';
    end;
    IF iTimes=4 then
    begin
      Application.MessageBox('您进行系统身份确认程序错误已经超过3次,本系统将停止执行!','提示!',0);
      Application.Terminate;
    end;
end;

procedure TLOGIN.UserChange(Sender: TObject);
begin
  DM.Qoper.Locate('username', User.text,[]);
end;

procedure TLOGIN.PassWordKeyPress(Sender: TObject; var Key: Char);
begin
   if (key = #13) then //当输入完密码,敲入回车键,Button1执行单击操作
    SpeedButton1Click(Sender);
end;

procedure TLOGIN.FormShow(Sender: TObject);
begin
  password.SetFocus;
end;

end.


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?