sys_changepassword.pas

来自「一个MRPII系统源代码版本」· PAS 代码 · 共 129 行

PAS
129
字号
unit Sys_ChangePassword;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Dialog, StdCtrls, Db, AdODB;

Type
  TFrm_Sys_ChangePassword = Class(TFrm_Base_Dialog)
    Label1: TLabel;
    Edt_Password: TEdit;
    Label2: TLabel;
    Edt_NewPassword: TEdit;
    Label3: TLabel;
    Edt_ReEnterPassword: TEdit;
    procedure FormActivate(Sender: TObject);
    procedure Edt_PasswordExit(Sender: TObject);
    procedure Edt_NewPasswordExit(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure Edt_ReEnterPasswordExit(Sender: TObject);
    procedure btn_CancelClick(Sender: TObject);
  private
    { Private declarations }
    FUserCode,FModuleCode,FMenuId,FLoginDate:string;
    FPassword:string;
  public
    { Public declarations }
    procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:boolean);
    procedure SetSysParam(UserCode,ModuleCode,MenuId,LoginDate:String);virtual;
  end;

var
  Frm_Sys_ChangePassword: TFrm_Sys_ChangePassword;

implementation

{$R *.DFM}

uses Sys_Global;
{ TFrm_Sys_ChangePassword }

procedure TFrm_Sys_ChangePassword.InitForm(AdOConnection: TAdOConnection;ReadOnly:boolean);
begin
  AdoQry_Tmp.Connection:=AdoConnection;
end;

procedure TFrm_Sys_ChangePassword.SetSysParam(UserCode, ModuleCode, MenuId,
  LoginDate: String);
begin
  FUserCode:=UserCode;
end;

procedure TFrm_Sys_ChangePassword.FormActivate(Sender: TObject);
begin
  inherited;
  with AdoQry_Tmp do
  begin
    Close;
    Sql.text:='select Password from operator '+
                 ' where EmployeeCode='''+FUserCode+'''';
    open;
    FPassword:=fieldbyname('Password').asstring;
    Close;
  end;
end;

procedure TFrm_Sys_ChangePassword.Edt_PasswordExit(Sender: TObject);
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    exit;
  if FPassword<>Edt_Password.text then
  begin
    DispInfo(' 口令不正确! ',1);
    Edt_Password.setfocus;
    abort;
  end;
end;

procedure TFrm_Sys_ChangePassword.Edt_NewPasswordExit(Sender: TObject);
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    exit;
  if Edt_NewPassword.text='' then
  begin
    DispInfo(' 系统要求您必须输入口令! ',1);
    Edt_NewPassword.setfocus;
    abort;
  end;
end;

procedure TFrm_Sys_ChangePassword.btn_okClick(Sender: TObject);
begin
  inherited;
  with AdoQry_Tmp do
  begin
    Close;
    Sql.text:='update operator set Password='''+Edt_NewPassword.text+'''' +
                 ' where EmployeeCode='''+FUserCode+'''';
    ExecSql;
    Close;
  end;
  ModalResult:=mrok;
  Close;
end;

procedure TFrm_Sys_ChangePassword.Edt_ReEnterPasswordExit(Sender: TObject);
begin
  inherited;
  if ActiveControl.Name='btn_Cancel' then
    exit;
  if edt_ReEnterPassword.text<>edt_NewPassword.text then
  begin;
    DispInfo('您两次输入的口令不一致,请再次输入!',1);
    edt_NewPassword.SetFocus;
    abort;
  end;
end;

procedure TFrm_Sys_ChangePassword.btn_CancelClick(Sender: TObject);
begin
  inherited;
  Close;
end;

end.

⌨️ 快捷键说明

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