⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changepassform.pas

📁 中小企业管理系统------ ERP系统原代码
💻 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 + -