📄 changepasswordform.~pas
字号:
unit ChangePasswordForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls;
type
TfrmchangePassword = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit3: TEdit;
Edit1: TEdit;
Edit2: TEdit;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
function ChanagePassword():smallint;
public
{ Public declarations }
procedure ClearEdit();
end;
var
frmchangePassword: TfrmchangePassword;
implementation
uses
ADODB,DB,FunctionUnit,
CardLoginForm, CardDM;
{$R *.DFM}
procedure TfrmchangePassword.Edit1KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
begin
if Length(Edit1.Text)=0 then
begin
ShowMessage('密码不能为空,请重新输入!');
Edit1.SetFocus;
end
else Edit2.SetFocus;
end;
end;
procedure TfrmchangePassword.Edit2KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
begin
if Length(Edit2.Text)=0 then
begin
ShowMessage('密码不能为空,请重新输入!');
Edit2.SetFocus;
end
else Edit3.SetFocus;
end;
end;
procedure TfrmchangePassword.Edit3KeyPress(Sender: TObject;
var Key: Char);
begin
if key=#13 then
begin
if Length(Edit3.Text)=0 then
begin
ShowMessage('密码不能为空,请重新输入!');
Edit3.SetFocus;
end
else BitBtn1.SetFocus;
end;
end;
procedure TfrmchangePassword.BitBtn1Click(Sender: TObject);
var
mRet : smallint;
begin
if (Edit1.Text = '')
or (Edit2.Text = '')
or (Edit3.Text = '') then
begin
ShowMessage('密码不能为空,请重新输入!');
Exit;
end;
if Edit2.Text <> Edit3.Text then
begin
ShowMessage('你两次输入的新密码不一致,请重新输入!');
Edit2.Text := '';
Edit3.Text := '';
Exit;
end;
mRet := ChanagePassword();
if mRet = -2 then
begin
ShowMessage('你所输入的旧密码错误!');
Edit1.SetFocus;
end
else if mRet < 0 then
begin
ShowMessage('未知错误,密码修改操作失败!');
end
else begin
ShowMessage('密码修改成功!');
ModalResult := mrOk;
end;
end;
procedure TfrmchangePassword.BitBtn2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;
function TfrmchangePassword.ChanagePassword: smallint;
var
mQuery:TADOQuery;
mPassword_:string;
begin
mQuery := TADOQuery.Create(nil);
try
with mQuery do
begin
Connection := DMMain.cnnMain;
//===============验证旧密码是否正确====================
SQL.Clear;
SQL.Add('select password from employee ');
SQL.Add('where account = :Account');
Parameters.ParamValues['ACcount'] := EncryptStr(gUser);
Open;
//查找不到任何记录
if RecordCount <> 1 then
begin
Result := -1;
Exit;
end;
mPassword_ := FieldByName('password').AsString;
//旧密码输入错误。
if mPassword_ <> EncryptStr(Edit1.Text) then
begin
Result := -2;
Exit;
end;
//================更该密码=========
Close;
SQL.Clear();
SQL.Add('update employee set password = :APWD ');
SQL.Add('where account = :ACcount');
Parameters.ParamValues['ACcount'] := EncryptStr(gUser);
Parameters.ParamValues['APWD'] := EncryptStr(Edit2.Text);
ExecSQL;
Result := 1;
end;
finally
mQuery.Free;
end;
end;
procedure TfrmchangePassword.ClearEdit;
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Self.ActiveControl := Edit1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -