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

📄 changepasswordfrm.pas

📁 供水营销打印程序源码
💻 PAS
字号:
unit ChangePasswordFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SJCustomProperty, cxLookAndFeelPainters, PropStorageEh,
  StdCtrls, cxButtons, ExtCtrls, cxControls, cxContainer, cxEdit,
  cxTextEdit, cxMaskEdit;

type
  TfrmPropertyChangePassword = class(TSJCustomPropertyForm)
    Image1: TImage;
    labUser: TLabel;
    Label2: TLabel;
    edtOldPassword: TcxMaskEdit;
    Label3: TLabel;
    edtNewPassword: TcxMaskEdit;
    Label4: TLabel;
    edtConfirm: TcxMaskEdit;
    procedure FormCreate(Sender: TObject);
    procedure btnOKClick(Sender: TObject);
  private
    FErrorCount: Integer;
    FUserID: string;

    function GetOldPassword: string;
  public
    property OldPassword: string read GetOldPassword;
    property UserID: string read FUserID write FUserID;
  end;

var
  frmPropertyChangePassword: TfrmPropertyChangePassword;

implementation

uses InvPrintDM, MainFrm, SJInvPrintGlobal, Encryption;

{$R *.dfm}

{ TfrmPropertyChangePassword }

function TfrmPropertyChangePassword.GetOldPassword: string;
// 获取当前用户的旧密码,此处有一个小小的缺陷如果在打开用户表时出错,则任何不
// 持有合法口令的用户都可以进入系统,在下步将修复它 2002-10-25 Xsp
var
  APassword: string;
begin
  APassword := '';
  dmInvPrint.GetUserPassword(UserID, APassword);
  Result := APassword;
end;

procedure TfrmPropertyChangePassword.FormCreate(Sender: TObject);
begin
  inherited;
  FErrorCount := 1;
end;

procedure TfrmPropertyChangePassword.btnOKClick(Sender: TObject);
// 检查用户输入的旧密码是否正确
var
  APassword: string;
begin
  inherited;
  if (OldPassword <> '') and (OldPassword <> GDefaultPassword) then
  begin
    APassword := SimpleEnDecrypt(edtOldPassword.Text, gKey);
    if APassword <> OldPassword then
    begin
      ShowMessage('您输入的旧口令不正确请重新输入。');
      edtOldPassword.SetFocus;
      Inc(FErrorCount);
      if FErrorCount > gLoginCount then
      begin
        ShowMessage('你没有取得正确的原始口令,请与管理员联系。');
        Application.Terminate;
      end;
      Exit;
    end;
  end;

  // 检查用户输入的新口令是否一致
  if edtNewPassword.Text <> edtConfirm.Text then
  begin
    ShowMessage('您输入的新口令不一致,请重新输入。');
    edtNewPassword.SetFocus;
    Exit;
  end;

  if Length(edtNewPassword.Text) < 6 then
  begin
    ShowMessage('您输入的新口令太简单,您可以更长的口令字。');
    edtNewPassword.SetFocus;
    Exit;
  end;
  ModalResult := mrOk;
end;

end.

⌨️ 快捷键说明

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