📄 password.pas
字号:
unit password;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, DB, DBTables, ADODB, ExtCtrls, jpeg;
type
TF_password = class(TForm)
Label2: TLabel;
Label3: TLabel;
EditPassword1: TMaskEdit;
CobUsername: TComboBox;
Label1: TLabel;
EditPassword2: TMaskEdit;
Label4: TLabel;
EditPassword3: TMaskEdit;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure EditPassword1Exit(Sender: TObject);
procedure EditPassword3Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
bOK: bool;
end;
var
F_password: TF_password;
implementation
uses main, data;
{$R *.dfm}
procedure TF_password.FormCreate(Sender: TObject);
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query.SQL.Add('select * from 操作员');
Query.Open ;
while not Query.Eof do
begin
CobUsername.Items.Add(query.Fieldbyname('姓名').AsString);
query.Next ;
end;
Query.Close;
Query.Free;
end;
procedure TF_password.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=13 then
Begin
key:=0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TF_password.EditPassword1Exit(Sender: TObject);
var
Query:TADOQuery;
begin
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
Query.SQL.Add('select * from 操作员 where 姓名 =:login and 密码=:password1');
query.Parameters.ParamByName('login').Value:=cobusername.Text ;
query.Parameters.ParamByName('password1').Value:=MyMD5.AsHex(MyMD5.HashValue(trim(editpassword1.Text))) ;
Query.Open ;
if Query.RecordCount = 0 then
begin
showmessage('原密码错,请重新输入。');
EditPassword1.SetFocus;
Button1.enabled:=false;
Query.Close;
Query.Free;
exit;
end
else Button1.enabled:=true;
Query.Close;
Query.Free;
end;
procedure TF_password.EditPassword3Exit(Sender: TObject);
begin
if editpassword2.Text <> editpassword3.Text then
begin
showmessage('确定密码与新密码不符,请重新输入。');
exit;
end;
end;
procedure TF_password.Button1Click(Sender: TObject);
var
Query:TADOQuery;
begin
EditPassword1Exit(sender);
EditPassword3Exit(sender);
Query:=TADOQuery.Create(nil);
Query.Connection:=DataModuleADO.ADOConnection1;
DataModuleADO.ADOConnection1.BeginTrans;
Query.SQL.Text:='update 操作员 set 密码 ='''+MyMD5.AsHex(MyMD5.HashValue(trim(editpassword3.Text)))+''' where 姓名 ='''+cobusername.Text+'''';
query.ExecSQL;
DataModuleADO.ADOConnection1.CommitTrans;
query.Close ;
query.Free ;
showmessage('修改成功。');
end;
procedure TF_password.Button2Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -