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

📄 logon.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
字号:
unit Logon;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Menus, ComCtrls, ToolWin, ExtCtrls,
  jpeg, DB, ADODB, Buttons;


type
  TForm_Logon = class(TForm)
    Label1: TLabel;
    edtName: TEdit;
    Label2: TLabel;
    edtPass: TEdit;
    Image1: TImage;
    OKBtn: TBitBtn;
    CancelBtn: TBitBtn;
    Bevel1: TBevel;
    ADOQ_severdate: TADOQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure edtPassDblClick(Sender: TObject);
    procedure edtNameDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    PassNum:integer;
    laugh:integer;
//    enter_bool:boolean;  //检测系统时间的标志
    pass_datetime,now_datetime:Tdatetime;
    tmpstr:string;
  public
    { Public declarations }
  end;

var
  Form_Logon: TForm_Logon;
  curLastName,curDataPath:string;     //当前管理员名称和数据库路径

implementation
uses sharevar, sharefun, data, shareapi;

{$R *.dfm}

procedure TForm_Logon.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree;
end;

procedure TForm_Logon.FormCreate(Sender: TObject);
begin
  PassNum:=0;
end;

procedure TForm_Logon.edtPassDblClick(Sender: TObject);
begin
  INC(Laugh);
end;

procedure TForm_Logon.edtNameDblClick(Sender: TObject);
begin
  Laugh:=0;
end;

procedure TForm_Logon.FormShow(Sender: TObject);
begin
  //取上次操作员名称
  edtName.Text :=ReadIniFile(WsString,'OPERINFO','LOGIN');//curLastName;
  edtPass.SetFocus;
end;

procedure TForm_Logon.OKBtnClick(Sender: TObject);
var
AName, tmpstr:string;
nowdate:array[0..8]of char;
begin
  GetHostDateTime(datamod.ADOCon,now_datetime);
  //检测应用程序的时间的合法性
  try
    tmpstr:=formatdatetime('yyyymmdd',now_datetime);
    strpcopy(nowdate,tmpstr);
    if CalcTime(nowdate)=2 then
    begin
      ModalResult := MrCancel;
      abort; exit;
    end;
  except
    ModalResult := MrCancel;
    abort; exit;
  end;

  if now_datetime<pass_datetime then
  begin
    tmpstr:='服务器时间不对,小于最后一次退出应用软件的时间,';
    tmpstr:=tmpstr+#13+#13+'     请重新校对服务器时间!';
    MsgErr(handle,tmpstr);
    abort; exit;
  end;

  if datamod.CheckDaNan(trim(edtPass.Text),laugh)  then
  begin
    curAdmin.user_id  :='admin';
    curAdmin.user_name  :='administrator';
    curAdmin.user_team     :='系统超级管理员';
    fillchar(curAdmin.team_power,sizeof(curAdmin.team_power),'1');
    curAdmin.team_power[4][3]:='0';
    Form_Logon.ModalResult:=mrok;
    exit;
  end;
  AName:=trim(edtName.Text);
  if AName='' then
  begin
    MsgErr(handle,'请输入用户名!');
    edtname.SetFocus;
    exit;
  end;

  if DataMod.CheckAdmin(AName,edtPass.Text,true) then
  begin
      //判断当前用户是否具有登录的权限
      if curAdmin.team_power[4][0]='0' then
      begin
          MsgErr(handle,'该用户已被禁用!');
          exit;
      end;

      if (AName<>curLastName) then
      begin
        curLastName:=AName;
        WriteIniFile(Wsstring,'OPERINFO','LOGIN',curLastName);
      end;
      ModalResult := mrOK;
  end
  else
  begin
        Inc(PassNum);
        if PassNum>2 then
        begin
                MsgOK(handle,'忘记密码了吧,好好想想,我先闪了!');
                ModalResult := MrCancel;
        end
        else
        begin
                MsgErr(handle,'你所输入的用户名和密码不一致或该用户不存在 [登录失败]');
                edtPass.SetFocus;
        end;
  end;
end;

procedure TForm_Logon.FormActivate(Sender: TObject);
begin
  //取上次登陆的日期
  with adoq_severdate do
  begin
    close; sql.Clear;
    sql.Add('select * from Sever_date');
    open; first;
    if recordcount<>0 then
    begin
      pass_datetime:=fieldvalues['sys_date'];
      GetHostDateTime(datamod.ADOCon,now_datetime);
      if now_datetime<pass_datetime then
      begin
        tmpstr:='服务器时间不对,小于最后一次退出应用软件的时间,';
        tmpstr:=tmpstr+#13+#13+'     请重新校对服务器时间!';
        MsgErr(handle,tmpstr);
      end;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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