📄 wnchange.pas
字号:
unit WnChange;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls,Db,Bde,DbCtrls,DbTables;
type
TfmChange = class(TForm)
edOld: TEdit;
edNew: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edConfirm: TEdit;
Image1: TImage;
btnOk: TBitBtn;
btnCancel: TBitBtn;
procedure FormShow(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure btnOkEnter(Sender: TObject);
private
UserNo,OldPassword : string;
{ Private declarations }
public
procedure ChangePassword(InputUserNo:String;Var Password:String);
{ Public declarations }
end;
var
fmChange: TfmChange;
implementation
uses UnDlgShell,DnUserManager;
{$R *.DFM}
procedure TfmChange.ChangePassword(InputUserNo:String;var Password: String);
begin
UserNo := InputUserNo;
OldPassword := Password;
if ShowModal=mrok then
begin
Password := edNew.Text;
end;
end;
procedure TfmChange.FormShow(Sender: TObject);
begin
edOld.Text := '';
edNew.Text := '';
edConfirm.Text := '';
end;
procedure TfmChange.btnOkClick(Sender: TObject);
begin
//检查旧密码是否正确
if edOld.Text <> OldPassword then
begin
ShowError('输入的旧密码不正确,请重新输入');
edOld.SetFocus;
Exit;
end;
//检查输入的新密码是否正确
if edNew.Text <> edConfirm.Text then
begin
ShowError('两次输入的新密码不一致,请重新输入');
edNew.SetFocus;
Exit;
end;
//保存密码
try
with dmUserManager do
begin
if qryUsers.Active then
begin
qryUsers.Locate('userno',userno,[]);
qryUsers.Edit;
qryUsers.FieldByName('password').AsString := edNew.Text;
qryUsers.Post;
end else
begin
qryUsers.Open;
qryUsers.Locate('userno',userno,[]);
qryUsers.Edit;
qryUsers.FieldByName('password').AsString := edNew.Text;
qryUsers.Post;
qryUsers.Close;
end;
end;
ShowInfo('保存密码成功');
ModalResult := mrok;
except
on E:EDbEngineError do
begin
ShowError('数据库出错导致保存失败');
Exit;
end;
end;
end;
procedure TfmChange.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then
btnCancel.Click;
if key = #13 then
begin
SelectNext((ActiveControl as TWinControl),True,True);
key := #0;
end;
end;
procedure TfmChange.btnOkEnter(Sender: TObject);
begin
btnOk.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -