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

📄 userchangepwd.pas

📁 采用Delphi7+Oracle. 该软件是由交警人员对各个路口闯红灯违法照片进行有效保存
💻 PAS
字号:
unit UserChangePwd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, TFlatButtonUnit, ExtCtrls,ADODB;

type
  TfrmChangePwd = class(TForm)
    GroupBox1: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label1: TLabel;
    Bevel1: TBevel;
    btnSure: TFlatButton;
    btnCancel: TFlatButton;
    edtNewPwd: TEdit;
    edtNewSure: TEdit;
    edtOldPwd: TEdit;
    procedure edtOldPwdKeyPress(Sender: TObject; var Key: Char);
    procedure edtNewPwdKeyPress(Sender: TObject; var Key: Char);
    procedure edtNewSureKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure btnSureClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    function item_check():boolean;
    function check_old():Boolean;  //检验旧密码是否正确
    function update_pwd():boolean;   //更新密码
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmChangePwd: TfrmChangePwd;

implementation

uses dbConn, userLogin;

{$R *.dfm}

procedure TfrmChangePwd.edtOldPwdKeyPress(Sender: TObject; var Key: Char);
begin
    if Key=#13 then
          edtNewpwd.SetFocus ;
end;

procedure TfrmChangePwd.edtNewPwdKeyPress(Sender: TObject; var Key: Char);
begin
    if key=#13 then
        edtNewsure.SetFocus ;
end;

procedure TfrmChangePwd.edtNewSureKeyPress(Sender: TObject; var Key: Char);
begin
    if Key=#13 then
          btnSure.Click ;
end;

procedure TfrmChangePwd.FormKeyPress(Sender: TObject; var Key: Char);
begin
      if key=#13 then
    begin
        key:=#0;
        perform(WM_NEXTDLGCTL,0,0);
    end;
end;

procedure TfrmChangePwd.btnSureClick(Sender: TObject);
begin
   if item_check=true then
   begin
        if check_old=false then
        begin
            edtNewPwd.Text:='';
            edtNewSure.Text:='';
            edtNewPwd.SetFocus ;
            Exit;
        end;
        if update_pwd=true then
        begin
            MessageBox(0,'更改成功,请记住您的新密码', '密码修改', 64);
            CurrentOperateItem:='更改用户密码';
            dbConn.SaveOperateLog(frmLogin.spLog,CurrentUserID,CurrentUser,now,CurrentOperateItem);
            self.Close ;
        end;
   end;
end;

//*****************************************
// item_check()  检查输入项是否符合要求
//*****************************************
function TfrmChangePwd.item_check():boolean;
begin
    try
      if edtOldPwd.Text ='' then
      begin
          MessageBox(0,'请输入您的旧密码', '密码修改', 64);
          edtOldPwd.SetFocus;
          exit;
      end;
      if edtNewPwd.Text ='' then
      begin
          MessageBox(0,'请输入您的新密码', '密码修改', 64);
          edtNewPwd.SetFocus;
          exit;
      end;
      if edtNewSure.Text ='' then
      begin
          MessageBox(0,'请输入您确认的新密码', '密码修改', 64);
          edtNewSure.SetFocus;
          exit;
      end;
      if trim(edtNewPwd.Text)<>trim(edtNewSure.Text) then
      begin
         edtNewPwd.Text :='';
         edtNewSure.Text :='';
         MessageBox(0,'您输入的密码不一致,请重新输入', '密码修改', 64);
         edtNewPwd.SetFocus;
         exit;
      end;
    item_check:=true;
    except
    On e:Exception Do begin
      item_check:=false;
      MessageBox(0,'','错误信息',64);
      Close;
    End;
    end;
end;
//*****************************************
// check_old()  检查旧密码是否正确
//*****************************************
function TfrmChangePwd.check_old():Boolean;  //检验旧密码是否正确
var
  rs:TADODataSet;
  sql:String;
begin
  try
    rs:=TADODataSet.Create(nil);
    rs.Connection:=cn_public;
    sql:='select USERID,PASSWORD FROM photocheck.P_USER WHERE USERID='''+CurrentUserID+'''';
    sql:= sql +' AND password='''+trim(edtOldPwd.Text)+'''';
    rs.CommandText:= sql;
    rs.Open;
    if rs.Eof then
    begin
        messagebox(0,'您的旧密码有误!','修改密码',16);
        edtOldPwd.SetFocus;
        rs.Close ;
        result:=false;
        exit;
    end;
    if rs.RecordCount=1 then
    begin
      rs.Close ;
      result:=true;
      exit;
    end;
  except
    on ex:exception do
    begin
      rs.Close;
      result:=false;
      messagebox(0,'TfrmChangePwd.check_old():error','修改密码',16);
    end;
  end;

end;
//*****************************************
// update_pwd()  更改密码操作
//*****************************************
function TfrmChangePwd.update_pwd():boolean;   //更新密码
var
  sql:String;
begin
  try
    sql:='UPDATE photocheck.P_USER set password='''+trim(edtNewPwd.Text)+'''';
    sql:=sql+' WHERE USERID='''+CurrentUserID+'''';
    if dbConn.Execute_SQL(sql)=true then
        result:=true
    else
        result:=false;
  except
    on ex:exception do
    begin
      result:=false;
      messagebox(0,'TfrmChangePwd.check_old():error','修改密码',16);
    end;
  end;

end;

procedure TfrmChangePwd.btnCancelClick(Sender: TObject);
begin
      CurrentOperateItem:='更改用户密码取消';
      dbConn.SaveOperateLog(frmLogin.spLog ,CurrentUserID,CurrentUser,now,CurrentOperateItem);
    Close;
end;

procedure TfrmChangePwd.FormShow(Sender: TObject);
begin
    edtOldPwd.Text :='';
    edtNewPwd.Text :='';
    edtNewSure.Text :='';
end;

end.

⌨️ 快捷键说明

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