usetpass.pas

来自「一个通讯录源码」· PAS 代码 · 共 81 行

PAS
81
字号
unit uSetPass;
{更改登录密码}

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, TinyDB;

type
  TSetPassFrm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    OKBtn: TButton;
    CancelBtn: TButton;
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  SetPassFrm: TSetPassFrm;
  TTB: TTinyTable;

implementation

uses uInfoCard;

{$R *.dfm}

procedure TSetPassFrm.OKBtnClick(Sender: TObject);
begin
  if Length(Trim(Edit1.Text + Edit2.Text)) = 0 then
    if MessageDlg('你确认不设置登录密码吗?'+#13+#13+
    '如果是的话,下次启动程序将不出现登录窗口。',
    mtConfirmation, [mbYes, mbNo], 0) <> mrYes then Exit;
  if Edit1.Text <> Edit2.Text then
    ShowMessage('所输入的两个密码不相符,请检查!')
  else
  begin
    TTB := TTinyTable.Create(Self);
    with TTB do
    Try
      Close;
      DatabaseName := InfoCardFrm.DBName;
      TableName := 'SysInfo';
      Password := DBPassWord;
      Open;
      Edit;
      FieldByName('PassWord').AsString := UpperCase(Trim(Edit2.Text));
      Post;
      ShowMessage('成功更新密码,不要忘记哦!');
      Close;
    except
      ShowMessage('更新不成功,请检查!');
    end;
    TTB.Free;
    Close;
  end;
end;

procedure TSetPassFrm.CancelBtnClick(Sender: TObject);
begin
  Close;
end;
{拦截Tedit控件内的回车键,跳转下一控件}
procedure TSetPassFrm.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = #13) and (ActiveControl is TEdit) then
    SendMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end;

end.

⌨️ 快捷键说明

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