📄 frmmodpswdimpl.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 + -