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

📄 changepasswordform.pas

📁 求是科技出版的《Delphi串口通信工程开发实例导航》所有的源代码。是一本很好的书。拿出来与大家共享。
💻 PAS
字号:
unit ChangePasswordForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls;

type
  TfrmchangePassword = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
    function ChanagePassword():smallint;
  public
    { Public declarations }
    procedure ClearEdit();
  end;

var
  frmchangePassword: TfrmchangePassword;

implementation

uses
    ADODB,DB,FunctionUnit,
    CardLoginForm, CardDM;
{$R *.DFM}

procedure TfrmchangePassword.Edit1KeyPress(Sender: TObject;
  var Key: Char);
begin
    if key=#13 then
    begin
        if Length(Edit1.Text)=0 then
        begin
            ShowMessage('密码不能为空,请重新输入!');
            Edit1.SetFocus;
        end
        else Edit2.SetFocus;
    end;
end;

procedure TfrmchangePassword.Edit2KeyPress(Sender: TObject;
  var Key: Char);
begin
    if key=#13 then
    begin
        if Length(Edit2.Text)=0 then
        begin
            ShowMessage('密码不能为空,请重新输入!');
            Edit2.SetFocus;
        end
        else Edit3.SetFocus;
    end;
end;

procedure TfrmchangePassword.Edit3KeyPress(Sender: TObject;
  var Key: Char);
begin
    if key=#13 then
    begin
        if Length(Edit3.Text)=0 then
        begin
            ShowMessage('密码不能为空,请重新输入!');
            Edit3.SetFocus;
        end
        else BitBtn1.SetFocus;
    end;
end;

procedure TfrmchangePassword.BitBtn1Click(Sender: TObject);
var
    mRet : smallint;
begin
    if (Edit1.Text = '')
        or (Edit2.Text = '')
        or (Edit3.Text = '') then
    begin
        ShowMessage('密码不能为空,请重新输入!');
        Exit;
    end;
    if Edit2.Text <> Edit3.Text then
    begin
        ShowMessage('你两次输入的新密码不一致,请重新输入!');
        Edit2.Text := '';
        Edit3.Text := '';
        Exit;
    end;
    mRet := ChanagePassword();
    if mRet = -2 then
    begin
        ShowMessage('你所输入的旧密码错误!');
        Edit1.SetFocus;
    end
    else if mRet < 0 then
    begin
        ShowMessage('未知错误,密码修改操作失败!');
    end
    else begin
        ShowMessage('密码修改成功!');
        ModalResult := mrOk;
    end;

end;

procedure TfrmchangePassword.BitBtn2Click(Sender: TObject);
begin
    ModalResult := mrCancel;
end;

function TfrmchangePassword.ChanagePassword: smallint;
var
    mQuery:TADOQuery;
    mPassword_:string;
begin
    mQuery := TADOQuery.Create(nil);
    try
        with mQuery do
        begin
            Connection := DMMain.cnnMain;
            //===============验证旧密码是否正确====================
            SQL.Clear;
            SQL.Add('select password from employee ');
            SQL.Add('where account = :Account');
            Parameters.ParamValues['ACcount'] := EncryptStr(gUser);
            Open;
            //查找不到任何记录
            if RecordCount <> 1 then
            begin
                Result := -1;
                Exit;
            end;
            mPassword_ := FieldByName('password').AsString;
            //旧密码输入错误。
            if mPassword_ <> EncryptStr(Edit1.Text) then
            begin
                Result := -2;
                Exit;
            end;
            //================更该密码=========
            Close;
            SQL.Clear();
            SQL.Add('update employee set password = :APWD ');
            SQL.Add('where account = :ACcount');
            Parameters.ParamValues['ACcount'] := EncryptStr(gUser);
            Parameters.ParamValues['APWD'] := EncryptStr(Edit2.Text);
            ExecSQL;
            Result := 1;
        end;
    finally
        mQuery.Free;
    end;
end;

procedure TfrmchangePassword.ClearEdit;
begin
    Edit1.Text := '';
    Edit2.Text := '';
    Edit3.Text := '';
    Self.ActiveControl := Edit1;
end;

end.

⌨️ 快捷键说明

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