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

📄 userlogin.~pas

📁 采用Delphi7+Oracle. 该软件是由交警人员对各个路口闯红灯违法照片进行有效保存
💻 ~PAS
字号:
unit userLogin;

interface

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

type
  TfrmLogin = class(TForm)
    Bevel1: TBevel;
    edtUserName: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Image1: TImage;
    btnLog: TFlatButton;
    btnCancel: TFlatButton;
    btnExit: TFlatButton;
    edtPassWord: TEdit;
    spLog: TADOStoredProc;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnLogClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure edtPassWordKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure edtUserNameKeyPress(Sender: TObject; var Key: Char);
    procedure FormActivate(Sender: TObject);
  private
    function item_check():boolean;   //检查输入项是否符合要求
    function data_check():boolean;   //验证用户
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmLogin: TfrmLogin;

implementation

uses dbConn, usermgt;

{$R *.dfm}

procedure TfrmLogin.FormCreate(Sender: TObject);
begin
     
      FirstLogin:=true;  //在第一次创建时为真
end;

procedure TfrmLogin.FormShow(Sender: TObject);
begin
    edtUserName.Text :='';
    edtPassWord.Text :='';
   
end;

procedure TfrmLogin.btnLogClick(Sender: TObject);
var
    czsj:TDateTime;
begin

   //首先检查是否符合基本要求
    if item_check()=false then
    begin
       Exit;
    end;
    //第二步,继续到数据库中检查 ,验证用户
    if data_check()=true then
    begin
      CurrentOperateItem:='用户登陆';
      czsj:=Now;
      dbConn.SaveOperateLog(spLog,CurrentUserID,CurrentUser,czsj,CurrentOperateItem);
      self.Hide ;
      FirstLogin:= false;   //已登陆了
      frmUserManager.Show;
      Close;
    end;

end;
//*****************************************
// item_check()  检查输入项是否符合要求
//*****************************************
function TfrmLogin.item_check():boolean;
var
  M_name:string;
  M_pass:string;
begin
    try
      if edtUserName.Text ='' then
      begin
          MessageBox(0,'请输入用户名称', '用户登陆', 64);
          EdtUserName.SetFocus;
          exit;
      end;
      if EdtPassWord.Text ='' then
      begin
          MessageBox(0,'请输入用户密码', '用户登陆', 64);
          EdtPassWord.SetFocus;
          exit;
      end;
    item_check:=true;
    except
    On e:Exception Do begin
      item_check:=false;
      MessageBox(0,'','错误信息',64);
      Close;
    End;
    end;
end;
//*****************************************
// data_check() 继续到数据库中检查 ,验证用户
//*****************************************
function TfrmLogin.data_check():boolean;
var
  rs:TADODataSet;
  i:integer;
begin
  try
    rs:=TADODataSet.Create(nil);
    rs.Connection:=cn_public;
    rs.CommandText:='select USERID,USERNAME,PASSWORD FROM photocheck.P_USER WHERE USERNAME='''+trim(edtUserName.text)+'''';
    rs.Open;
    if rs.Eof then
    begin
        messagebox(Handle,'无此用户,禁止非法用户登陆!','登陆',16);
        data_check:=false;
        exit;
    end
    else begin
      if edtPassWord.Text=rs.FieldByName('PASSWORD').AsString then
      begin
        CurrentUser:=rs.FieldByName('USERNAME').AsString;      //保存操作员信息
        CurrentUserID:=rs.FieldByName('USERID').AsString;
        data_check:=true;
      end
      else begin
         messagebox(Handle,'用户密码错误,禁止非法登陆!','登陆',16);
         EdtPassWord.SetFocus;
         data_check:=false;
         exit;
      end;
    end;
  finally
    rs.Close ;
  end;
end;

procedure TfrmLogin.btnExitClick(Sender: TObject);
begin
      //CurrentOperateItem:='用户退出登陆';
      //dbConn.SaveOperateLog(spLog,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    Close;
    Application.Terminate ;
end;

procedure TfrmLogin.btnCancelClick(Sender: TObject);
begin
      CurrentOperateItem:='用户登陆取消';
      dbConn.SaveOperateLog(spLog,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    self.Hide ;
    frmUserManager.Show;

end;

procedure TfrmLogin.edtPassWordKeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
        btnLog.Click;
end;

procedure TfrmLogin.FormKeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then
    begin
        key:=#0;
        perform(WM_NEXTDLGCTL,0,0);
    end;
end;

procedure TfrmLogin.edtUserNameKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
      edtPassWord.SetFocus ;
end;

procedure TfrmLogin.FormActivate(Sender: TObject);
begin
   //根据是否为首次登陆情况来进行各个显示
    if FirstLogin=true then
    begin
        btnExit.Visible := true;
        btnCancel.Visible := false;
    end
    else
    begin
        btnCancel.Visible := true;
        btnExit.Visible := false;
    end;
end;

end.

⌨️ 快捷键说明

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