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

📄 systemloginfm.pas.svn-base

📁 这个是个简单的关于出票申请的处理
💻 SVN-BASE
字号:
unit systemLoginFM;

interface
{$DEFINE Test}
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, StdCtrls,db,dbtables,dbctrls, ScktComp;

type
  Tfrm_Login = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Label2: TLabel;
    EdPwd: TEdit;
    Label3: TLabel;
    EdWorkNo: TEdit;
    OverLoginTimer: TTimer;
    btnReceiveMsg: TButton;
    pnlCover: TPanel;
    btnModify: TButton;
    sbtnconfirm: TButton;
    btnCancel: TButton;
    Label1: TLabel;
    procedure btncancelClick(Sender: TObject);
    procedure btnModifyClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure EdPwdKeyPress(Sender: TObject; var Key: Char);
    procedure sbtnConfirmClick(Sender: TObject);
    procedure EdWorkNoKeyPress(Sender: TObject; var Key: Char);
    procedure btnReceiveMsgClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    Wait_100ms : Integer;
    Wait_Times : Integer;
    procedure cover(cover_mode:Integer;MessageStr:String);
    Procedure InsertManagerState;
  public
    { Public declarations }
    BLogin:Boolean;
  end;

const
    MaxLoginWaitSecond=30;          //登录超时时间30秒
    LoginCoverOpen=0;
    LoginCoverClose=1;
    LoginCoverChangeMsg = 99;
var
    Exit_Flag   : Boolean;
    ReloginFlag : Boolean = False; //在程序内重新登录标志
    frm_Login   :Tfrm_Login;
implementation
uses
    systemPH, systemDM, systemModiPwdFM;

const MaxLoginNum=3;
{$R *.DFM}


procedure Tfrm_Login.btncancelClick(Sender: TObject);
begin
  BLogin:=False;
  Close;
  Application.MainForm.Free;
end;

procedure Tfrm_Login.btnModifyClick(Sender: TObject);
begin
 //sysDM.ShowModalForm(Tfrm_ModiPwd);
end;

procedure Tfrm_Login.FormCreate(Sender: TObject);
begin
  Position :=poDeskTopCenter;
end;

procedure Tfrm_Login.EdPwdKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
    EdWorkNo.SetFocus;
    sbtnconfirm.Click;
  end;
end;

procedure Tfrm_Login.sbtnConfirmClick(Sender: TObject); //weirp, 登陆到系统中的验证信息
var
  WorkID, WorkPwd, TempWorkID : string;
  sSqlstr: string;
begin
  {$IFDEF Test}
  DMSystem.WorkName := EdWorkNo.Text;
  BLogin := True;
  Close;
  Exit;
  {$ENDIF}
  
  cover(LoginCoverOpen,'正在与登陆到系统中,以确认身份....');
  TempWorkID := DMSystem.WorkId;
  BLogin := False;

  WorkID := UpperCase(Trim(Edworkno.text));
  WorkPwd := Trim(EdPwd.text);
  sSqlstr := 'Select * from sysusers Where Upper(uid)=' + #39 + WorkID + #39 +
             'and password =' + #39 + WorkPwd + #39;
  if DMSystem.SQL_Querys(DMSystem.Qry_Temp, sSqlstr)  then
  begin
    with DMSystem.Qry_Temp do
    begin
      DMSystem.WorkName := FieldByName('Name').AsString;
    end;

  //      DMSystem.WorkAuthStr := DMSystem.GetAuthBitAttrib(WorkID,'1');
  //      DMSystem.WorkRole := DMSystem.GetAuthBitAttrib(WorkID,'2');
    DMSystem.WorkId := WorkID;
    DMSystem.WorkPwd := WorkPwd;
    InsertManagerState;
  end else
  begin
    cover(LoginCoverClose, '用户名或口令不正确');
    Exit;
  end;

  BLogin:=True;
  Close;
end;

PROCEDURE Tfrm_Login.cover(Cover_Mode:Integer;MessageStr:String);
VAR
    m0top,m0left,m0width,m0height: Integer;
    m1top,m1left,m1width,m1height: Integer;
    step_i ,step_max : Integer;
    Step_rate : real;
BEGIN
  With self.pnlCover DO
  BEGIN
    Caption := MessageStr;
    CASE Cover_Mode OF
      0:
      //显示封面
      BEGIN
        Step_max    := 15;

        m1top       :=0;
        m1left      :=0;
        m1Width     :=self.ClientWidth;
        m1height    :=self.ClientHeight;

        m0top       := round(m1height/2);
        m0left      := round(m1width/2);
        m0Width     := 0;
        m0height    := 0;


        top     := m0top;
        left    := m0left;
        width   := m0Width;
        height  := m0Height;
        VISIBLE:= TRUE;
        for step_i := 1 to step_Max do
        begin
            Step_Rate := step_i / step_max;
            top     := m0top + round((m1top - m0top) * Step_Rate) ;
            left    := m0left + round((m1left - m0left) * step_rate);
            Width   := m0width + round((m1width - m0width) * step_rate);
            Height  := m0height + round((m1height -m0height) * step_rate);
            //Refresh;
        end;
        top := m1top;
        left := m1left;
        width := m1width;
        height := m1height;
      END;
      1:
      //关闭封面
      BEGIN
          Step_max    := 15;

          m0top      :=0;
          m0left      :=0;
          m0Width     :=self.ClientWidth;
          m0height    :=self.ClientHeight;

          m1top       := round(m0height/2);
          m1left      := round(m0width/2);
          m1Width     := 0;
          m1height    := 0;

          top     := m0top;
          left    := m0left;
          width   := m0Width;
          height  := m0Height;
          VISIBLE:= TRUE;
          for step_i := 1 to step_Max do
          begin
              Step_Rate := step_i / step_max;
              top     := m0top + round((m1top - m0top) * Step_Rate) ;
              left    := m0left + round((m1left - m0left) * step_rate);
              Width   := m0width + round((m1width - m0width) * step_rate);
              Height  := m0height + round((m1height -m0height) * step_rate);
              //Refresh;
          end;
          top := m1top;
          left := m1left;
          width := m1width;
          height := m1height;
      END;
      2:
      //更换提示字串
      BEGIN
      END;
    END;
  END;
  pnlCover.BringToFront;
END;

procedure Tfrm_Login.EdWorkNoKeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13) and (EdWorkNo.Text <> '') then
    EdPwd.SetFocus;
end;

procedure Tfrm_Login.btnReceiveMsgClick(Sender: TObject);
begin
  BLogin:=True;
  Close;
end;

procedure Tfrm_Login.FormShow(Sender: TObject);
begin
  if EdWorkNo.Enabled then
    EdWorkNo.SetFocus;
end;

procedure Tfrm_Login.InsertManagerState;//weirp, 插入管理者登陆状态信息
begin
end;

end.




⌨️ 快捷键说明

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