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

📄 changepassform.pas

📁 胜天财务进销存2003源代码,SQLSERVER版,目前最完整的财务进销存系统.
💻 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, KsControls, KsButtons, KsSkinButtons, KsHooks, KsForms,
  KsSkinForms, KsLabels, KsSkinLabels, KsMessages, KsSkinMessages;

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.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -