unit ResetPwd; interface uses 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls; type 
TFrmReSetPwd = class(TForm) 
Panel1: TPanel; 
Label3: TLabel; 
Label2: TLabel; 
Label1: TLabel; 
EdOrgPwd: TEdit; 
EdNewPwd: TEdit; 
EdConfirm: TEdit; 
SbtCancle: TSpeedButton; 
SbtOk: TSpeedButton; 
SBar: TStatusBar; 
procedure SbtCancleClick(Sender: TObject); 
procedure EdOrgPwdKeyPress(Sender: TObject; var Key: Char); 
procedure SbtOkClick(Sender: TObject); 
private 
{ Private declarations } 
FUser:string; public 
{ Public declarations } 
procedure SetUser(aUser:string); 
end; var 
FrmResetPwd: TFrmReSetPwd; implementation uses Enrollment; {$R *.dfm} { TFrmReSetPwd } procedure TFrmReSetPwd.SetUser(aUser: string); 
begin 
if aUser<>FUser then 
begin 
FUser :=aUser; 
Sbar.SimpleText :='当前用户:'+UpperCase(FUser); 
end; 
end; procedure TFrmReSetPwd.SbtCancleClick(Sender: TObject); 
begin 
self.Close; 
end; procedure TFrmReSetPwd.EdOrgPwdKeyPress(Sender: TObject; var Key: Char); 
begin 
if key=#13 then SelectNext(TWinControl(Sender),True,True); 
end; procedure TFrmReSetPwd.SbtOkClick(Sender: TObject); 
var 
users:TUsers; 
begin 
try 
users :=TUsers.Create(self); 
if users.ResetPwd(FUser,EdOrgPwd.Text ,EdNewPwd.Text ,EdConfirm.Text) then 
begin 
MessageDlg('新密码设置成功!',mtInformation, [mbYes], 0); 
self.Close; 
end else 
begin 
MessageDlg(users.ErrPrompt ,mtError, [mbYes], 0); 
EdOrgPwd.Text :=''; 
EdNewPwd.Text :=''; 
EdConfirm.Text :=''; 
EdOrgPwd.SetFocus; 
end; 
finally 
users.Free; 
end; end; end.

解决方案 »

  1.   


    unit ResetPwd; interface uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls; type 
    TFrmReSetPwd = class(TForm) 
    Panel1: TPanel; 
    Label3: TLabel; 
    Label2: TLabel; 
    Label1: TLabel; 
    EdOrgPwd: TEdit; 
    EdNewPwd: TEdit; 
    EdConfirm: TEdit; 
    SbtCancle: TSpeedButton; 
    SbtOk: TSpeedButton; 
    SBar: TStatusBar; 
    procedure SbtCancleClick(Sender: TObject); 
    procedure EdOrgPwdKeyPress(Sender: TObject; var Key: Char); 
    procedure SbtOkClick(Sender: TObject); 
    private 
    { Private declarations } 
    FUser:string; public 
    { Public declarations } 
    procedure SetUser(aUser:string); 
    end; var 
    FrmResetPwd: TFrmReSetPwd; implementation uses Enrollment; {$R *.dfm} { TFrmReSetPwd } procedure TFrmReSetPwd.SetUser(aUser: string); //设置用户
    begin 
    if aUser <>FUser then 
    begin 
    FUser :=aUser; 
    Sbar.SimpleText :='当前用户:'+UpperCase(FUser); 
    end; 
    end; procedure TFrmReSetPwd.SbtCancleClick(Sender: TObject); 
    begin 
    self.Close; 
    end; procedure TFrmReSetPwd.EdOrgPwdKeyPress(Sender: TObject; var Key: Char); 
    begin 
    if key=#13 then SelectNext(TWinControl(Sender),True,True); //回车到下一个控件
    end; procedure TFrmReSetPwd.SbtOkClick(Sender: TObject); 
    var 
    users:TUsers; 
    begin 
    try 
    users :=TUsers.Create(self); //创建TUsers实例
    if users.ResetPwd(FUser,EdOrgPwd.Text ,EdNewPwd.Text ,EdConfirm.Text) then //重置密码
    begin 
    MessageDlg('新密码设置成功!',mtInformation, [mbYes], 0); 
    self.Close; 
    end else 
    begin 
    MessageDlg(users.ErrPrompt ,mtError, [mbYes], 0); //重置错误
    EdOrgPwd.Text :=''; 
    EdNewPwd.Text :=''; 
    EdConfirm.Text :=''; 
    EdOrgPwd.SetFocus; 
    end; 
    finally 
    users.Free; 
    end; end; end.