📄 changepassform.pas
字号:
unit ChangePassForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
EditForm, dxCntner, dxEditor, dxEdLib, dxDBELib, StdCtrls, Buttons, ExtCtrls,
dxExEdtr, inifiles, SysPublic, Db, DBGrids, ADODB, KsSkinButtons,
KsSkinForms, KsSkinLabels, KsSkinMessages, se_controls, KsSkinSpeedButtons;
type
TfrmChangePass = class(TfrmEditForm)
lblPass: TSeSkinLabel;
bbOk: TSeSkinButton;
bbNo: TSeSkinButton;
edtNew1: TdxEdit;
lblSou: TSeSkinLabel;
edtSou: TdxEdit;
lblNew2: TSeSkinLabel;
edtNew2: TdxEdit;
DataSet: TADODataSet;
procedure bbNoClick(Sender: TObject);
procedure bbOkClick(Sender: TObject);
private
{ Private declarations }
bReturn: Boolean;
lPubID, lPubAdmin: Integer;
sSouPass: string;
procedure MainShow;
procedure LoadGrid;
function LoadData: Boolean;
function SaveMsg: boolean;
public
{ Public declarations }
end;
function ChangePassShow(lID, lAdmin: Integer): Boolean;
//lAdmin是否是管理员在操作
implementation
uses LoginForm, DBData, UserLimitForm;
{$R *.DFM}
function ChangePassShow(lID, lAdmin: Integer): Boolean;
var
frmChangePass: TfrmChangePass;
begin
frmChangePass := TfrmChangePass.Create(Application);
with frmChangePass do
begin
lPubID := lID;
lPubAdmin := lAdmin;
MainShow;
Result := bReturn;
Free;
end;
end;
procedure TfrmChangePass.MainShow;
begin
Caption := '用户修改密码';
if not CheckLimit(CHANGE_PASSWORD) then
begin
ShowMsg('对不起,你没有权限使用此工能!');
Exit;
end;
LoadGrid;
if LoadData then
ShowModal;
DataSet.Close;
end;
procedure TfrmChangePass.LoadGrid;
begin
if lPubAdmin = 0 then
begin
edtNew1.PasswordChar := '*';
end
else
begin
lblSou.Visible := False;
edtSou.Visible := False;
lblNew2.Visible := False;
edtNew2.Visible := False;
edtNew1.PasswordChar := #0;
end;
end;
function TfrmChangePass.LoadData: Boolean;
var
sSql: string;
begin
Result := False;
if lPubID = 0 then
Exit;
sSql := 'SELECT ID,Password FROM Employe WHERE Quit<>true and ID=' +
IntToStr(lPubID);
OpenDataSet(DataSet, sSql);
if DataSet.RecordCount >= 1 then
begin
sSouPass := StringDecrypt(DataSet.FieldByName('Password').AsString,
ENCRYPT_KEY);
if lPubAdmin > 0 then
edtNew1.Text := sSouPass;
Result := True;
end
else
ShowMsg('读取用户资料出错,请检查数据库!');
end;
procedure TfrmChangePass.bbNoClick(Sender: TObject);
begin
inherited;
bReturn := false;
Close;
end;
function TfrmChangePass.SaveMsg: boolean;
begin
Result := False;
if edtSou.Visible and (sSouPass <> edtSou.Text) then
begin
MsgBox('原密码不正确,请重新输入原密码!', '提示', MB_OK);
Exit;
end;
if edtNew2.Visible and (edtNew2.Text <> edtNew1.Text) then
begin
MsgBox('用户密码和确认密码必须相同!', '提示', MB_OK);
Exit;
end;
Result := True;
end;
procedure TfrmChangePass.bbOkClick(Sender: TObject);
begin
inherited;
if not SaveMsg then
exit;
DataSet.Edit;
DataSet.FieldByName('Password').AsString := StringEncrypt(edtNew1.Text,
ENCRYPT_KEY);
SaveDataSet(DataSet, False);
if edtSou.Visible then
MsgBox('密码修改成功!', '提示', MB_OK);
bReturn := true;
Close;
end;
end.
//此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
//╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
//╭⌒╭⌒╮╭⌒╮~╭⌒╮ ︶ ,︶︶
//,︶︶︶︶,''︶~~ ,''~︶︶ ,''
//╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
//╬ ︱田︱田 田 ︱ ╬
//╬ http://www.5ivb.net ╬
//╬ ╭○╮● ╬
//╬ /■\/■\ ╬
//╬ <| || 有希望,就有成功! ╬
//╬ ╬
//╚╬╬╬╬╬╬╬╬╬╬╗ ╔╬╬╬╬╝
//
//说明:
//专业提供VB、.NET、Delphi、ASP、PB源码下载
//包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -