?? unitchangepassword.~pas
字號:
unit UnitChangePassword;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, AnyDBFactory;
type
TForm_ChangePassword = class(TForm)
Label1: TLabel;
Label3: TLabel;
UserName: TEdit;
OldPassword: TEdit;
BtnOk: TBitBtn;
BtnCancel: TBitBtn;
Label4: TLabel;
Label2: TLabel;
NewPassword: TEdit;
CheckPassword: TEdit;
procedure BtnOkClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure OldPasswordKeyPress(Sender: TObject; var Key: Char);
procedure CheckPasswordKeyPress(Sender: TObject; var Key: Char);
procedure NewPasswordKeyPress(Sender: TObject; var Key: Char);
procedure BtnCancelClick(Sender: TObject);
procedure UserNameKeyPress(Sender: TObject; var Key: Char);
private
FIsOk: Boolean;
FDBFactory: TAnyDBFactory;
{ Private declarations }
public
{ Public declarations }
property DBFactory:TAnyDBFactory read FDBFactory write FDBFactory;
property IsOK:Boolean read FIsOk;
end;
var
Form_ChangePassword: TForm_ChangePassword;
function ChangeUserPasswordWithDialog(ADBFactory:TAnyDBFactory): Boolean;
implementation
uses mis_Instance, AnyPoster, BusinessDialogs, mis_RightDBStore;
{$R *.DFM}
function ChangeUserPasswordWithDialog(ADBFactory:TAnyDBFactory): Boolean;
begin
with TForm_ChangePassword.Create(Application) do
begin
try
DBFactory:=ADBFactory;
ActiveControl:=UserName;
ShowModal;
Result:=IsOk
finally
Free;
end;
end;
end;
procedure TForm_ChangePassword.BtnOkClick(Sender: TObject);
begin
if (NewPassword.text='') or (CheckPassword.text='') then
begin
MyDefInformation(' 你必須有密碼! ');
Exit;
end;
if uppercase(NewPassword.text)<>uppercase(CheckPassword.text) then
begin
MyDefInformation(' 兩次密碼輸入不一致 ');
Exit;
end;
try
if ChangeUserPassword(FDBFactory,
App_UserInfo.UserName,
App_UserInfo.Password,
NewPassword.text) then
MyDefInformation('密碼修改成功!')
else
MyDefInformation('用戶信息已被刪除,無法修改密碼!');
except
MyWarning('密碼修改失敗,請重試!');
end;
FIsOk:=True;
Close;
end;
procedure TForm_ChangePassword.FormCreate(Sender: TObject);
begin
UserName.Text :=App_UserInfo.UserName;
FIsOk:=False;
end;
procedure TForm_ChangePassword.OldPasswordKeyPress(Sender: TObject;
var Key: Char);
begin
if Word(Key)=vk_return then
begin
if uppercase(App_UserInfo.Password)=uppercase(OldPassword.Text) then
begin
NewPassword.enabled:=true;
CheckPassword.enabled:=true;
NewPassword.Color:=clWindow;
CheckPassword.Color:=clWindow;
NewPassword.SetFocus;
end
else
begin
NewPassword.enabled:=false;
CheckPassword.enabled:=false;
NewPassword.Color:=clBtnFace;
CheckPassword.Color:=clBtnFace;
MyWarning('密碼不正確,請重新輸入!');
end
end;
end;
procedure TForm_ChangePassword.CheckPasswordKeyPress(Sender: TObject;
var Key: Char);
begin
if Word(Key)=vk_return then
begin
Key :=#0;
BtnOk.setfocus;
end;
end;
procedure TForm_ChangePassword.NewPasswordKeyPress(Sender: TObject;
var Key: Char);
begin
if Word(Key)=vk_return then
begin
Key :=#0;
CheckPassword.setfocus;
end;
end;
procedure TForm_ChangePassword.BtnCancelClick(Sender: TObject);
begin
Close;
end;
procedure TForm_ChangePassword.UserNameKeyPress(Sender: TObject;
var Key: Char);
begin
if Word(Key)=vk_return then
begin
Key :=#0;
CheckPassword.setfocus;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -