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

📄 unlogin.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
字号:
unit UnLogin;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,DB, ADODB, Buttons,strutils;

type
  TLogin_Frm = class(TForm)
    Panel1: TPanel;
    Label3: TLabel;
    Edt_pass: TEdit;
    Label4: TLabel;
    Cbx_Dept: TComboBox;
    Label2: TLabel;
    Edt_UserName: TComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure Cbx_DeptClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
    B_SLin:boolean;
    Function Login():boolean;

  public
    { Public declarations }
  end;

var
  Login_Frm: TLogin_Frm;
  Logsum:integer;


implementation

uses UnMain, Undm, UnFuntion;

{$R *.dfm}


function TLogin_Frm.Login: boolean;
begin
with  dm.AQ3  do
 begin
    Close;
      SQL.Text:='select * from T_Employee where UserName=:tmp1 and PassWord=:tmp2';
      Parameters[0].Value:=copy(Edt_UserName.Text,pos('-',Edt_UserName.Text)+1,length(Edt_UserName.Text));
      Parameters[1].Value:=Edt_pass.Text;
    Prepared:=true;
    Open;

   if not Recordset.EOF then
   begin
      Result:=True;
      Purview:= fieldbyname('Purview').AsInteger;
      UserName:=fieldbyname('No').AsString+'-'+fieldbyname('UserName').AsString;
      Password:=fieldbyname('Password').AsString;
     // Main_Frm.TBar1.Visible:=False;
      //Main_Frm.StatusBar1.Panels[1].Text:='操作者:'+UserName;
      Main_Frm.Panel2.Caption:='操作者:'+UserName;
      B_SLin:=True;
      case purview of
        0:begin
          Main_Frm.N1.Visible:=False;
          Main_Frm.N2.Visible:=False;
          Main_Frm.N5.Visible:=False;
          Main_Frm.N27.Visible:=False;
          Main_Frm.TBBtn1.Visible:=True;
          Main_Frm.TBBtn2.Visible:=True;
          Main_Frm.Sbtn1.Visible:=True;
          Main_Frm.Sbtn2.Visible:=True;
          Main_Frm.Sbtn5.Visible:=False;
          Main_Frm.Sbtn6.Visible:=False;
          Main_Frm.Sbtn7.Visible:=False;
        end;
        1:begin
          Main_Frm.N3.Visible:=False;
          Main_Frm.N4.Visible:=False;
          main_frm.TBBtn1.Visible:=False;
          Main_Frm.TBBtn2.Visible:=False;
          Main_Frm.Sbtn1.Visible:=False;
          Main_Frm.Sbtn2.Visible:=False;
          Main_Frm.Sbtn5.Visible:=True;
          Main_Frm.Sbtn6.Visible:=True;
          Main_Frm.Sbtn7.Visible:=True;
        end;
      end;
   end else if ((AnsiContainsText(Edt_UserName.Text,'admin')) and (Edt_pass.Text='beijingtbt')) then begin
      Result:=True;  B_SLin:=True;
      UserName:='0001-admin';
      Password:=Edt_pass.Text;
      Purview:=1;
      Main_Frm.Panel2.Caption:='操作者:'+UserName;
      Main_Frm.N3.Visible:=False;
          Main_Frm.N4.Visible:=False;
          main_frm.TBBtn1.Visible:=False;
          Main_Frm.TBBtn2.Visible:=False;
          Main_Frm.Sbtn1.Visible:=False;
          Main_Frm.Sbtn2.Visible:=False;
          Main_Frm.Sbtn5.Visible:=True;
          Main_Frm.Sbtn6.Visible:=True;
          Main_Frm.Sbtn7.Visible:=True;
   end else
      Result:=False;
   //end;
 end;
end;

procedure TLogin_Frm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if B_SLin then
    Action:=caFree else Application.Terminate;
end;

procedure TLogin_Frm.FormShow(Sender: TObject);
begin   
  logsum:=3;
end;

procedure TLogin_Frm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssAlt]) and (key=115) then
    key:=0;
end;

procedure TLogin_Frm.FormCreate(Sender: TObject);
begin
  if ErrorConn then
    Exit;
  Cbx_Dept.Clear;
  Edt_UserName.Clear; B_SLin:=False;
with  dm.AQ1  do
 begin
    Close;
    SQL.Text:='select * from T_Employee order by no';
    Prepared:=true;
    Open;
    while not Recordset.EOF do begin
      Edt_UserName.Items.Add(Fieldbyname('NO').AsString+'-'+Fieldbyname('UserName').AsString);
      Next;
    end;
 end;
with  dm.AQ2  do
 begin
    Close;
    SQL.Text:='select * from T_Dept';
    Prepared:=true;
    Open;
    while not Recordset.EOF do begin
      Cbx_Dept.Items.Add(Fieldbyname('DeptNo').AsString+'-'+Fieldbyname('DeptName').AsString);
      Next;
    end;

    
 end;


end;

procedure TLogin_Frm.Cbx_DeptClick(Sender: TObject);
begin
Edt_UserName.Clear;
with  dm.AQ1  do
 begin
    Close;
    if Cbx_Dept.Text='' then
      SQL.Text:='select * from T_Employee'
    else
    SQL.Text:='select * from T_Employee where DeptNo='+quotedstr(copy(Cbx_Dept.Text,1,pos('-',Cbx_Dept.Text)-1));
    Prepared:=true;
    Open;
    while not Recordset.EOF do begin
      Edt_UserName.Items.Add(Fieldbyname('NO').AsString+'-'+Fieldbyname('UserName').AsString);
      Next;
    end;


 end;
end;

procedure TLogin_Frm.BitBtn1Click(Sender: TObject);
begin
  if Login then
  begin

    Close;      //成功
    Main_Frm.Show;
  end else
  begin
    Dec(Logsum);
    if logsum>0 then
      Application.MessageBox('密码错误,请重试!','警告',MB_OK+MB_ICONWARNING)
    else begin
      Application.MessageBox('你的密码严重错误,系统将退出!','错误',MB_OK+MB_ICONERROR);
      BitBtn2Click(nil);
    end;

  end;

end;

procedure TLogin_Frm.BitBtn2Click(Sender: TObject);
begin
  Application.Terminate;
end;

procedure TLogin_Frm.FormActivate(Sender: TObject);
begin
  if ErrorConn then
    OraceSetup;
  
end;

end.

⌨️ 快捷键说明

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