unitmodpass.pas

来自「通用人事管理系统:包括人事信息档案考勤管理培训管理」· PAS 代码 · 共 92 行

PAS
92
字号
unit UnitModPass;

interface

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

type
  TFrmModPass = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Panel1: TPanel;
    bbtnOK: TBitBtn;
    bbtnClose: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure bbtnOKClick(Sender: TObject);
    procedure bbtnCloseClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmModPass: TFrmModPass;

implementation

uses UnitCommon, UnitDatabase;

{$R *.dfm}

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

procedure TFrmModPass.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=13 then Perform(WM_NEXTDLGCTL,0,0);
end;

procedure TFrmModPass.bbtnOKClick(Sender: TObject);
begin
  if Edit1.Text='' then begin
    MessageBox(Handle,'请输入原密码。                  ','系统警告',48);
    Edit1.SetFocus;
  end else
    if Edit2.Text='' then begin
      MessageBox(Handle,'请输入新密码。                  ','系统警告',48);
      Edit2.SetFocus;
    end else
      if Edit2.Text<>Edit3.Text then begin
        MessageBox(Handle,'请重新确认新密码。                  ','系统警告',48);
        Edit2.SetFocus;
      end else begin
        with DMMain.ADOQRS1 do begin
          Close;
          SQL.Clear;
          SQL.Add('select MPassword from Users where RTrim(MAccount)='''+Users.Account+'''');
          Open;
          if not EOF then begin
            if hf_decrypt(Trim(FieldByName('MPassword').AsString))=Edit1.Text then begin
              Edit;
              FieldByName('MPassword').AsString:=hf_encrypt(Edit2.Text);
              Post;
              FrmModPass.Close;
            end else begin
              MessageBox(Handle,'原密码错误,请仔细检查。             ','系统警告',48);
              Edit1.SetFocus;
            end;
          end;
          Close;
        end;
      end;
end;

procedure TFrmModPass.bbtnCloseClick(Sender: TObject);
begin
  FrmModPass.Close;
end;

end.

⌨️ 快捷键说明

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