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

📄 frmmodpswdimpl.pas

📁 多媒体播放后台管理系统适用于各种字幕播放软件的后台管理,包括播放内容、时间、等级等的管理。
💻 PAS
字号:
unit FrmModPswdImpl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, SUIButton, DB, ADODB, FrmMainImpl, SUIForm;

type
  TFrmModPswd = class(TForm)
    sfrMain: TsuiForm;
    imgSt: TImage;
    lblUserName: TLabel;
    lblPassword1: TLabel;
    lblPassword2: TLabel;
    bvlBottomLine: TBevel;
    lblOldPassword: TLabel;
    edtUserName: TEdit;
    edtNewPassword1: TEdit;
    edtNewPassword2: TEdit;
    btnConfirm: TsuiButton;
    edtOldPassword: TEdit;
    btnCancel: TsuiButton;
    conMain: TADOConnection;
    qryPublic: TADOQuery;
    procedure edtOldPasswordKeyPress(Sender: TObject; var Key: Char);
    procedure edtNewPassword1KeyPress(Sender: TObject; var Key: Char);
    procedure edtNewPassword2KeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure btnConfirmClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmModPswd: TFrmModPswd;

implementation

{$R *.dfm}

procedure TFrmModPswd.edtOldPasswordKeyPress(Sender: TObject;
  var Key: Char);
begin
  if (key = chr(13)) then
    edtNewPassword1.SetFocus;
end;

procedure TFrmModPswd.edtNewPassword1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if (key = chr(13)) then
    edtNewPassword2.SetFocus;
end;

procedure TFrmModPswd.edtNewPassword2KeyPress(Sender: TObject;
  var Key: Char);
begin
  if (key = chr(13)) then
    btnConfirm.SetFocus;
end;

procedure TFrmModPswd.FormShow(Sender: TObject);
begin
  if (not conMain.Connected) then
    conMain.Open;  

  edtUserName.Text := UserName;
  edtOldPassword.SetFocus;
end;

procedure TFrmModPswd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  try
    conMain.Close;
  except
  end;

  Action := caFree;
end;

procedure TFrmModPswd.FormDestroy(Sender: TObject);
begin
  if (self = FrmModPswd) then
    FrmModPswd := Nil;
end;

procedure TFrmModPswd.btnConfirmClick(Sender: TObject);
var
  strOldPw, strNewPw: String;
begin
  ModalResult := mrOk;

  if (edtNewPassword1.Text <> edtNewPassword2.Text) then
  begin
    edtNewPassword1.SetFocus;
    ShowMessage('“新密码”与“确认新密码”不相同!');
    Abort;
  end;

  try
    Screen.Cursor := crHourGlass;
    
{    strEncryptedOldPw := Lock('1', edtOldPassword.Text);
    strEncryptedNewPw := Lock('1', edtNewPassword1.Text);}
    strOldPw := edtOldPassword.Text;
    strNewPw := edtNewPassword1.Text;
    qryPublic.Close;
    qryPublic.SQL.Clear;
    if strOldPW = '' then
      qryPublic.SQL.Add('select 1 from T_SYS_USER where USER_ID=' + QuotedStr(UserID) + ' and USER_PSWD is null')
    else
      qryPublic.SQL.Add('select 1 from T_SYS_USER where USER_ID=' + QuotedStr(UserID) + ' and USER_PSWD =' + QuotedStr(strOldPW));
    qryPublic.Open;
    if qryPublic.RecordCount < 1 then
    begin
      Screen.Cursor := crDefault;
      ShowMessage('“旧密码”不对,请重新输入!');
      edtOldPassword.SetFocus;
      qryPublic.Close;
      Abort;
    end;

    qryPublic.Close;
    qryPublic.SQL.Clear;
    qryPublic.SQL.Add('update T_SYS_USER set USER_PSWD=:USER_PSWD where USER_ID=:USER_ID');
    qryPublic.Parameters.ParamByName('USER_PSWD').Value := strNewPw;
    qryPublic.Parameters.ParamByName('USER_ID').Value := UserID;
    qryPublic.ExecSQL;
    Screen.Cursor := crDefault;
    ShowMessage('密码修改成功');
    Close;
  except
    on E: Exception do
    begin
      Screen.Cursor := crDefault;
      ShowMessage(E.Message);
    end;
  end;
end;

procedure TFrmModPswd.btnCancelClick(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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