📄 wh210unit.pas
字号:
unit WH210Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TWH210Form = class(TForm)
Label1: TLabel;
edUserID: TEdit;
bnOK: TBitBtn;
bnCancel: TBitBtn;
edUserName: TEdit;
Label2: TLabel;
Label5: TLabel;
edPrevPassword: TEdit;
edNewPassword: TEdit;
edConfirmNewPassword: TEdit;
Label4: TLabel;
Label3: TLabel;
procedure bnCancelClick(Sender: TObject);
procedure bnOKClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
WH210Form: TWH210Form;
sPrevPassword: string;
implementation
uses DMUnit, Main;
{$R *.dfm}
procedure TWH210Form.bnCancelClick(Sender: TObject);
begin
MessageBox(0, ' 密码未变更' + #13#10 +
'下次进入系统请继续使用原来的密码!', '密码未变更', MB_OK +
MB_ICONINFORMATION);
end;
procedure TWH210Form.bnOKClick(Sender: TObject);
begin
if Trim(edPrevPassword.Text) = '' then
begin
MessageBox(0, '原密码不可空白,请重新输入!', '', MB_OK + MB_ICONSTOP);
edPrevPassword.SetFocus;
Abort;
end;
if Trim(edPrevPassword.Text) <> sPrevPassword then
begin
MessageBox(0, '原密码输入错误,请重新输入!', '', MB_OK + MB_ICONSTOP);
edPrevPassword.SetFocus;
Abort;
end;
if Trim(edNewPassword.Text) = '' then
begin
MessageBox(0, '新密码不可空白,请重新输入!', '', MB_OK + MB_ICONSTOP);
edNewPassword.SetFocus;
Abort;
end;
if Trim(edNewPassword.Text) <> Trim(edConfirmNewPassword.Text) then
begin
MessageBox(0, '确认新密码与新通行密码不一致,请重新输入!', '', MB_OK +
MB_ICONSTOP);
edConfirmNewPassword.SetFocus;
Abort;
end;
try
DM.User.Open;
DM.User.Edit;
DM.User.FieldByName('密码').Asstring := edNewPassword.Text;
//新密码提交
DM.User.Post;
MessageBox(0, '密码变更完成,下次进入系统请使用新的密码!',
'密码变更完成', MB_OK + MB_ICONINFORMATION);
except
MessageBox(0, '密码变更失败,请稍候再试或与系统管理员联系!',
'密码变更失败', MB_OK + MB_ICONSTOP);
raise;
end;
Close;
end;
procedure TWH210Form.FormShow(Sender: TObject);
begin
try
// 在前两个文本框中显示当前用户的编号和密码
edUserID.Text := MainForm.Auser.UserID;
edUserName.Text := MainForm.Auser.UserName;
// 当前数据表中定位该ID对应的记录
DM.User.Locate('用户编号', edUserID.Text, []);
sPrevPassword := DM.User.FieldByName('密码').AsString;
//清空各个文本框和密码框的内容
edPrevPassword.Text := '';
edNewPassword.Text := '';
edConfirmNewPassword.Text := '';
except
MessageBox(0, '数据读取出错', '', MB_OK + MB_ICONSTOP);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -