📄 untedtpswrd.pas
字号:
unit UntEdtPswrd;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables;
type
TFrmEdtPswrd = class(TForm)
EdtOldPswrd: TEdit;
EdtNewPswrd: TEdit;
EdtVldtPswrd: TEdit;
LblOldPswrd: TLabel;
LblNewPswrd: TLabel;
LblVldtPswrd: TLabel;
BtnCancle: TButton;
BtnOK: TButton;
BtnQuit: TButton;
QryPswrd: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure BtnCancleClick(Sender: TObject);
procedure BtnQuitClick(Sender: TObject);
procedure BtnOKClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmEdtPswrd: TFrmEdtPswrd;
implementation
uses Global,UnitDataModul;
{$R *.DFM}
procedure TFrmEdtPswrd.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := cafree;
end;
procedure TFrmEdtPswrd.FormDestroy(Sender: TObject);
begin
//self := nil;
end;
procedure TFrmEdtPswrd.BtnCancleClick(Sender: TObject);
begin
EdtOldPswrd.Text:='';
EdtNewPswrd.Text:='';
EdtVldtPswrd.Text:='';
EdtOldPswrd.SetFocus;
end;
procedure TFrmEdtPswrd.BtnQuitClick(Sender: TObject);
begin
close;
end;
procedure TFrmEdtPswrd.BtnOKClick(Sender: TObject);
begin
with QryPswrd do
begin
DatabaseName := DtMdl.Database1.DatabaseName;
Close;
SQL.Clear;
sql.Add('select PassWord from UserCase ');
SQL.Add('where UserName='''+Global.g_user.UserName+'''');
open;
if recordCount=1 then
Global.g_user.PassWord:=fieldByName('Password').AsString
else
begin
showmessage('你已修改了用户名,请重新登录后再修改密码!');
exit;
end;
end;
if EdtOldPswrd.Text='' then
begin
showmessage('请输入旧密码!');
EdtOldPswrd.SetFocus;
exit;
end;
if EdtNewPswrd.Text='' then
begin
showmessage('请输入新密码!');
EdtNewPswrd.SetFocus;
exit;
end;
if EdtVldtPswrd.Text='' then
begin
showmessage('请输入确认密码!');
EdtVldtPswrd.SetFocus;
exit;
end;
if EdtOldPswrd.Text<>Global.g_user.PassWord then
begin
showmessage('输入的旧密码有误!');
BtnCancle.Click;
exit;
end;
if EdtVldtPswrd.Text<>EdtNewPswrd.Text then
begin
showmessage('两次输入的密码不一致!');
EdtNewPswrd.Text:='';
EdtVldtPswrd.Text:='';
EdtNewPswrd.SetFocus;
exit;
end;
with QryPswrd do
begin
DatabaseName := DtMdl.Database1.DatabaseName;
if DtMdl.Database1.InTransaction then DtMdl.Database1.Rollback ;
DtMdl.Database1.StartTransaction ;
try
Close;
SQL.Clear;
sql.Add('update UserCase set PassWord='''+EdtVldtPswrd.Text+'''');
SQL.Add(' where UserName='''+Global.g_user.UserName+'''');
ExecSQL;
DtMdl.Database1.Commit ;
ShowMessage('密码修改成功!');
except
DtMdl.Database1.Rollback ;
ShowMessage('密码修改失败!');
end;
end;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -