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

📄 frm_login1.pas

📁 是一个用delphi设计的考勤系统
💻 PAS
字号:
unit Frm_Login1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ModalForm1, StdCtrls, UErrDisplay, Buttons;

type
  TLogin1 = class(TMyModalForm1)
    Label1: TLabel;
    Label2: TLabel;
    EdtUserName: TEdit;
    EdtPassword: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
      passnum: integer;
  public
    { Public declarations }
  end;

var
  Login1: TLogin1;

implementation
 uses
  DM_DataModal, UGeneralFunc, Uglobal, UDeviceFunc, UTSysCs, UTUser,
  frm_s_ReparPassWordpas;
{$R *.dfm}

procedure TLogin1.BitBtn2Click(Sender: TObject);
var
  msg: string;
  a_systemtime: _systemtime;
  aComputerName: array[0..254] of Char;
  j: Cardinal;
  sDate: string;
  sTime: string;
begin
  inherited;
  if not assigned(gtSysCs) then
  begin
    gtSysCs := TSysCs.Create;
    if gtSysCs.RetVal <> 0 then
    begin
      application.MessageBox(pchar(gtSysCs.retmsg), '用户登录', mb_ok + mb_iconwarning);
      ModalResult := mrCancel;
      exit;
    end;
  end
  else
    gtsyscs.Create;
  if trim(datetimetostr(now)) <> trim(FormatDateTime('yyyy-mm-dd hh:mm:ss', Now)) then
  begin
    application.MessageBox('日期格式错误码' + #13 + #10 +
      '正确格式为:2001-01-01 12:01:01' + #13 + #10 +
      '请到[控制面版]->[区域选项]中修改', '用户登录', mb_ok + mb_iconwarning);
      winexec('rundll32.exe shell32.dll,Control_RunDLL Intl.cpl,,4',9);
    exit;
  end;
  j := sizeof(aComputerName);
  getComputerName(aComputerName, j);
  GetlocalTime(a_systemtime);
  if EdtUsername.Text = '' then
  begin
    msg := '用户名称不可为空!';
    showmsg(msg, 1, 2);
    EdtUsername.SetFocus;
    exit;
  end;
  if not gtsyscs.ConnectDataBase then
  begin
    application.MessageBox(pchar(gtsyscs.retmsg+'可能配置有误,' + #13#13 + '请通过检查后重试!'), '用户登录', mb_ok + mb_iconwarning);
    EdtUsername.SetFocus;
    EdtUsername.SelectAll;
    BitBtn1.Visible := true;  
    exit;
  end;
  if not assigned(gtUser) then gtUser := TUser.Create;
  gtUser.UsrName := EdtUserName.Text;
  gtUser.PassWord := Encode(EdtPassword.Text, 13);
  with winddata.pZx_S_czydl do
  begin
    parameters.ParamByName('@czybh').Value := EdtuserName.Text;
    parameters.ParamByName('@password').Value := Encode(EdtPassword.Text, 13);
    parameters.ParamByName('@jsjmc').Value := trim(aComputerName);
    execproc;
    if parameters.ParamByName('@return_value').Value <> 0 then
    begin
      msg := parameters.ParamByName('@retmsg').Value;
      application.MessageBox(pchar(msg), '用户登录', mb_ok + mb_iconwarning);
      inc(passnum);
      if passnum > 2 then ModalResult := mrCancel;
      exit;
    end
    else
    begin
      sDate := datetostr(parameters.parambyname('@getsystime').Value);
      sTime := timetostr(parameters.parambyname('@getsystime').Value);
      a_systemtime.wYear := strtoint(copy(sDate, 1, 4));
      a_systemtime.wMonth := strtoint(copy(sDate, 6, 2));
      a_systemtime.wDay := strtoint(copy(sDate, 9, 2));
      a_systemtime.wHour := strtoint(copy(sTime, 1, 2));
      a_systemtime.wMinute := strtoint(copy(sTime, 4, 2));
      a_systemtime.wSecond := strtoint(copy(sTime, 7, 2));
      SetlocalTime(a_systemtime);
      if parameters.parambyname('@PWDSta').Value = -1 then
      begin
        frm_s_ReparPassWord := Tfrm_s_ReparPassWord.Create(application);
        frm_s_ReparPassWord.UserName := gtUser.UsrName;
        frm_s_ReparPassWord.ShowModal;
        frm_s_ReparPassWord.Free;
        exit;
      end;
    end;
  end;
  if not gtsyscs.IniDevice then
  begin
    application.MessageBox(pchar(gtsyscs.RetMsg + #13#13 + '请通过检查后重试!'), '用户登录', mb_ok + mb_iconwarning);
    exit;
  end;
  gtUser.GetUserInfo(gtUser.UsrName) ;
  ModalResult := mrOK;
end;

procedure TLogin1.BitBtn3Click(Sender: TObject);
begin
  inherited;
  ModalResult := mrCancel;
end;

procedure TLogin1.BitBtn1Click(Sender: TObject);
var
  str: string;
begin
  inherited;
  str := gtsyscs.LocaldConnStrFile;
  str := WindData.ConfigConnstr(str);
  gtsyscs.SaveConnStr(str);
end;

end.

⌨️ 快捷键说明

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