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

📄 unitloginform.pas

📁 手机批发商进销存管理
💻 PAS
字号:
unit UnitLoginForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, RzLabel, RzPrgres, RzButton, ExtCtrls, Mask, RzEdit, Registry,
  jpeg, ComCtrls, RzBtnEdt, RzCmboBx;

type
  TLoginForm = class(TForm)
    RzEdit1: TRzEdit;
    RzEdit2: TRzEdit;
    RzLabel2: TRzLabel;
    RzLabel3: TRzLabel;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    ProgressBar1: TProgressBar;
    Panel1: TPanel;
    Image1: TImage;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RzEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure RzEdit2KeyPress(Sender: TObject; var Key: Char);
  private
    LogNum : integer;
  public

  end;

var
  LoginForm: TLoginForm;
  
implementation

uses UnitDM, UnitPublicFunction;

{$R *.DFM}

procedure TLoginForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;

procedure TLoginForm.FormShow(Sender: TObject);
begin
  RzEdit1.SetFocus;
end;

procedure TLoginForm.RzBitBtn1Click(Sender: TObject);
var
  Oper, Password : string;
  LogPassword,LogName : string;
  Reg: TRegistry;
begin
  ProgressBar1.Min := 0;
  ProgressBar1.Max := 3;
  ProgressBar1.Step:= 1;

//限定次数
  if LogNum >2 then
  begin
    Application.MessageBox('三次登录失败,系统自动关闭!','提示',MB_OK or MB_ICONERROR);
    Application.Terminate;
  end;

//空值校验
  Oper := Trim(RzEdit1.Text);
  Password := Trim(RzEdit2.Text);
  if Oper='' then
  begin
    Application.MessageBox('请输入工号!','提示',MB_OK or MB_ICONERROR);
    RzEdit1.SetFocus;
    Exit;
  end;
//取数据库密码
  with DM1.ADOQuery1 do
  begin
    try
      Close;
      SQL.Clear;
      SQL.Text := ' select password,username from tab_user where userid=:oper and status=1 ';
      Parameters.ParamByName('oper').value := Oper;
      Open;
      if not Eof then
      begin
        LogPassword := FieldByName('password').AsString;
        LogName     := FieldByName('username').AsString;
      end
      else
      begin
        LogNum := LogNum + 1;
        Application.MessageBox('非法用户','提示',MB_OK or MB_ICONERROR);
        RzEdit1.SetFocus;
        Exit;
      end;
      Close;
    except
      Application.MessageBox('数据库打开失败!','提示',MB_OK or MB_ICONERROR);
      Application.Terminate;
    end;
  end;
  if Password <> DePwd(LogPassword,1) then
  begin
    LogNum := LogNum + 1;
    Application.MessageBox('密码错误!','提示',MB_OK or MB_ICONERROR);
    RzEdit2.SetFocus;
    Exit;
  end;
  UserID    := Oper;
  UserName  := LogName;
  UserPWD   := Password;

  //1.填写注册表
  ProgressBar1.StepIt;
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey(REGSHOPMIS,True) then
      Reg.WriteString('User',Oper);
  finally
    Reg.CloseKey;
    Reg.Free;
  end;

  //2.获取品名机型
  DM1.GetGoodsNameType;
  ProgressBar1.StepIt;

  //3.获取柜台
  DM1.GetGoodsOwner;
  ProgressBar1.StepIt;

  ProgressBar1.Position := ProgressBar1.Max;
  ModalResult := mrOK;
end;


procedure TLoginForm.RzBitBtn2Click(Sender: TObject);
begin
  ModalResult := mrCancel;
end;

procedure TLoginForm.FormCreate(Sender: TObject);
var
  Reg : TRegistry;
begin
  LogNum := 0;
  RzEdit1.Clear;
  RzEdit2.Clear;
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKey(REGSHOPMIS,True) then
      RzEdit1.text:=Reg.ReadString('User');
  finally
    Reg.CloseKey;
    Reg.Free;
  end;
end;

procedure TLoginForm.RzEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then RzEdit2.SetFocus;
end;

procedure TLoginForm.RzEdit2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then RzBitBtn1.Click;
end;

end.

⌨️ 快捷键说明

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