unitalterpwdform.pas

来自「手机批发商进销存管理」· PAS 代码 · 共 126 行

PAS
126
字号
unit UnitAlterPWDForm;

interface

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

type
  TAlterPWDForm = class(TForm)
    Bevel1: TBevel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

uses UnitDM, UnitPublicFunction;

{$R *.DFM}

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

procedure TAlterPWDForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then Edit2.SetFocus;
end;

procedure TAlterPWDForm.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then BitBtn1.Click;
end;

procedure TAlterPWDForm.FormShow(Sender: TObject);
begin
  Edit1.Clear;
  Edit2.Clear;
  Edit3.Clear;    
  Edit3.SetFocus;
end;

procedure TAlterPWDForm.BitBtn2Click(Sender: TObject);
begin
  Close;
end;

procedure TAlterPWDForm.BitBtn1Click(Sender: TObject);
var
  newpwd : string;
begin
  if Trim(Edit3.Text)<>UserPWD then
  begin
    Application.MessageBox('旧密码不对!','提示',MB_OK or MB_ICONERROR);
    Edit3.Setfocus;
    Exit;
  end;
  if Trim(Edit1.Text)<>Trim(Edit2.Text) then
  begin
    Application.MessageBox('再次输入的密码不匹配,请重新输入!','提示',MB_OK or MB_ICONERROR);
    Edit1.Setfocus;
    Exit;
  end;
  newpwd := DePwd(Trim(Edit1.Text),0);
  try
    DM1.ADOConnection1.BeginTrans;
    with DM1.ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      if newpwd<>'' then
      begin
        SQL.Text := ' update tab_user set PassWord=:PassWord where UserID=:UserID ';
        Parameters.ParamByName('PassWord').value := newpwd;
      end
      else
      begin
        SQL.Text := ' update tab_user set PassWord=null where UserID=:UserID ';
      end;
      Parameters.ParamByName('UserID').value   := UserID;
      ExecSQL;
    end;
    DM1.ADOConnection1.CommitTrans;
    UserPWD := Trim(Edit1.Text);
    Application.MessageBox(PChar('用户 '+UserID+'-'+UserName+' 的密码修改成功,下次登录时请用此密码: '+Trim(Edit1.Text)),'提示',MB_OK or MB_ICONINFORMATION);
  except
    DM1.ADOConnection1.RollbackTrans;
  end;
  Close;
end;

procedure TAlterPWDForm.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then Edit1.SetFocus;
end;

procedure TAlterPWDForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then Close;
end;

end.

⌨️ 快捷键说明

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