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

📄 wnchange.pas

📁 个人写的一个操作员管理部分
💻 PAS
字号:
unit WnChange;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls,Db,Bde,DbCtrls,DbTables;
type
  TfmChange = class(TForm)
    edOld: TEdit;
    edNew: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    edConfirm: TEdit;
    Image1: TImage;
    btnOk: TBitBtn;
    btnCancel: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure btnOkEnter(Sender: TObject);
  private
    UserNo,OldPassword : string;
    { Private declarations }
  public
    procedure ChangePassword(InputUserNo:String;Var Password:String);
    { Public declarations }
  end;

var
  fmChange: TfmChange;

implementation

  uses UnDlgShell,DnUserManager;


{$R *.DFM}

procedure TfmChange.ChangePassword(InputUserNo:String;var Password: String);
begin
  UserNo := InputUserNo;
  OldPassword := Password;
  if ShowModal=mrok then
  begin
    Password := edNew.Text;
  end;
end;

procedure TfmChange.FormShow(Sender: TObject);
begin
  edOld.Text := '';
  edNew.Text := '';
  edConfirm.Text := '';
end;

procedure TfmChange.btnOkClick(Sender: TObject);
begin
  //检查旧密码是否正确
  if edOld.Text <> OldPassword then
  begin
    ShowError('输入的旧密码不正确,请重新输入');
    edOld.SetFocus;
    Exit;
  end;
  //检查输入的新密码是否正确
  if edNew.Text <> edConfirm.Text then
  begin
    ShowError('两次输入的新密码不一致,请重新输入');
    edNew.SetFocus;
    Exit;
  end;
  //保存密码
  try
    with dmUserManager do
    begin
      if qryUsers.Active then
      begin
        qryUsers.Locate('userno',userno,[]);
        qryUsers.Edit;
        qryUsers.FieldByName('password').AsString := edNew.Text;
        qryUsers.Post;
      end else
      begin
        qryUsers.Open;
        qryUsers.Locate('userno',userno,[]);
        qryUsers.Edit;
        qryUsers.FieldByName('password').AsString := edNew.Text;
        qryUsers.Post;
        qryUsers.Close;
      end;
    end;
    ShowInfo('保存密码成功');
    ModalResult := mrok;
  except
    on E:EDbEngineError do
       begin
         ShowError('数据库出错导致保存失败');
         Exit;
       end;
  end;
end;

procedure TfmChange.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #27 then
    btnCancel.Click;
  if key = #13 then
  begin
    SelectNext((ActiveControl as TWinControl),True,True);
    key := #0;
  end;
end;

procedure TfmChange.btnOkEnter(Sender: TObject);
begin
  btnOk.Click;
end;

end.

⌨️ 快捷键说明

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