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

📄 untedtpswrd.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
字号:
unit UntEdtPswrd;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Db, DBTables;

type
  TFrmEdtPswrd = class(TForm)
    EdtOldPswrd: TEdit;
    EdtNewPswrd: TEdit;
    EdtVldtPswrd: TEdit;
    LblOldPswrd: TLabel;
    LblNewPswrd: TLabel;
    LblVldtPswrd: TLabel;
    BtnCancle: TButton;
    BtnOK: TButton;
    BtnQuit: TButton;
    QryPswrd: TQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure BtnCancleClick(Sender: TObject);
    procedure BtnQuitClick(Sender: TObject);
    procedure BtnOKClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmEdtPswrd: TFrmEdtPswrd;

implementation
  uses Global,UnitDataModul;
{$R *.DFM}

procedure TFrmEdtPswrd.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := cafree;
end;

procedure TFrmEdtPswrd.FormDestroy(Sender: TObject);
begin
  //self := nil;
end;

procedure TFrmEdtPswrd.BtnCancleClick(Sender: TObject);
begin
  EdtOldPswrd.Text:='';
  EdtNewPswrd.Text:='';
  EdtVldtPswrd.Text:='';
  EdtOldPswrd.SetFocus;
end;

procedure TFrmEdtPswrd.BtnQuitClick(Sender: TObject);
begin
  close;
end;

procedure TFrmEdtPswrd.BtnOKClick(Sender: TObject);
begin
  with QryPswrd do
    begin
      DatabaseName := DtMdl.Database1.DatabaseName;
      Close;
      SQL.Clear;
      sql.Add('select PassWord from UserCase ');
      SQL.Add('where UserName='''+Global.g_user.UserName+'''');
      open;
      if recordCount=1 then
        Global.g_user.PassWord:=fieldByName('Password').AsString
      else
        begin
          showmessage('你已修改了用户名,请重新登录后再修改密码!');
          exit;
        end;
    end;

  if EdtOldPswrd.Text='' then
    begin
      showmessage('请输入旧密码!');
      EdtOldPswrd.SetFocus;
      exit;
    end;
  if EdtNewPswrd.Text='' then
    begin
      showmessage('请输入新密码!');
      EdtNewPswrd.SetFocus;
      exit;
    end;
  if EdtVldtPswrd.Text='' then
    begin
      showmessage('请输入确认密码!');
      EdtVldtPswrd.SetFocus;
      exit;
    end;
  if EdtOldPswrd.Text<>Global.g_user.PassWord then
    begin
      showmessage('输入的旧密码有误!');
      BtnCancle.Click;
      exit;
    end;
  if EdtVldtPswrd.Text<>EdtNewPswrd.Text then
    begin
      showmessage('两次输入的密码不一致!');
      EdtNewPswrd.Text:='';
      EdtVldtPswrd.Text:='';
      EdtNewPswrd.SetFocus;
      exit;
    end;

  with QryPswrd do
    begin
      DatabaseName := DtMdl.Database1.DatabaseName;
      if DtMdl.Database1.InTransaction then DtMdl.Database1.Rollback ;
      DtMdl.Database1.StartTransaction ;
      try
        Close;
        SQL.Clear;
        sql.Add('update UserCase set PassWord='''+EdtVldtPswrd.Text+'''');
        SQL.Add(' where UserName='''+Global.g_user.UserName+'''');
        ExecSQL;
        DtMdl.Database1.Commit ;
        ShowMessage('密码修改成功!');
      except
        DtMdl.Database1.Rollback ;
        ShowMessage('密码修改失败!');
      end;
    end;

  close;
end;

end.

⌨️ 快捷键说明

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