📄 ulogin.~pa
字号:
unit ulogin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Db, Halcn6DB, Tools;
type
TfrmLogin = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
txtXDYName: TEdit;
txtPwd: TEdit;
btnLogin: TBitBtn;
btnVerifyPwd: TBitBtn;
btnExit: TBitBtn;
btnChangePWD: TBitBtn;
grpChangePWD: TGroupBox;
Label6: TLabel;
Label7: TLabel;
txtNewPWD: TEdit;
txtConfirmPWD: TEdit;
tablePWD: THalcyonDataSet;
tablePWDXDYNAME: TStringField;
tablePWDPASSWORD: TStringField;
tablePWDLDATE: TDateField;
tablePWDCDATE: TDateField;
tablePWDMARK: TStringField;
Label3: TLabel;
txtNewUser: TEdit;
procedure txtXDYNameKeyPress(Sender: TObject; var Key: Char);
procedure txtPwdKeyPress(Sender: TObject; var Key: Char);
procedure btnVerifyPwdClick(Sender: TObject);
procedure btnLoginClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btnExitClick(Sender: TObject);
procedure btnChangePWDClick(Sender: TObject);
procedure txtNewPWDKeyPress(Sender: TObject; var Key: Char);
procedure txtConfirmPWDKeyPress(Sender: TObject; var Key: Char);
procedure txtNewUserKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmLogin: TfrmLogin;
implementation
uses main,YYtools;
{$R *.DFM}
//1999.8.25.
procedure TfrmLogin.txtXDYNameKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
txtPwd.setfocus;
end;
end;
//1999.8.25.
procedure TfrmLogin.txtPwdKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
btnVerifyPwd.setfocus;
end;
end;
//密码验证
//1999.8.25. 8.26. 8.27. 11.15.
procedure TfrmLogin.btnVerifyPwdClick(Sender: TObject);
var
s, p: string;
begin
s := txtXDYName.text;
p := txtPWD.text;
ysDeCrypt(GetAppPath+'pwd.ebf',GetAppPath+'pwd.dbf');
with tablePwd do begin
Open;
First;
while not EOF do begin
//判断用户名 相等
if tablePwdXDYNAME.value = s then
begin
if p = tablePwdPassword.value then
begin
btnLogin.Enabled := true;
btnChangePWD.Enabled := true;
tablePwd.Edit;
tablePwdLDate.value := Now;
tablePwd.Post;
btnLogin.SetFocus;
end
else
begin
ShowMessage('Wrong Password.');
end;
close;
ysEncrypt(GetAppPath+'pwd.dbf',GetAppPath+'pwd.ebf');
exit;
end;
Next;
end;
Close;
end;
end;
procedure TfrmLogin.btnLoginClick(Sender: TObject);
begin
hide;
frmMain.showmodal;
end;
procedure TfrmLogin.FormCreate(Sender: TObject);
begin
tablePWd.DatabaseName := GetApppath;
end;
procedure TfrmLogin.btnExitClick(Sender: TObject);
begin
close;
end;
//修改密码
//1999.8.27. 11.15.
procedure TfrmLogin.btnChangePWDClick(Sender: TObject);
begin
Application.MessageBox('请在"新密码"处输入您新的密码.', '修改密码', MB_OK + MB_ICONASTERISK + MB_DEFBUTTON1 + MB_APPLMODAL);
grpChangePWD.enabled := true;
txtnewUser.text:=txtXDYName.text;
txtNewUser.setfocus;
end;
//输入新密码
//1999.8.27.
procedure TfrmLogin.txtNewPWDKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then begin
txtConfirmPWD.SetFocus;
end;
end;
//密码确认
//1999.8.27.
procedure TfrmLogin.txtConfirmPWDKeyPress(Sender: TObject; var Key: Char);
var
s1, s2: string;
begin
if key = #13 then begin
s1 := txtNewPWD.text;
s2 := txtConfirmPWD.text;
if s1 <> s2 then begin
Application.MessageBox('您两次输入的密码不匹配,请重新输入.', '修改密码', MB_OK + MB_ICONASTERISK + MB_DEFBUTTON1 + MB_APPLMODAL);
txtNewPWD.setfocus;
exit;
end;
ysDeCrypt(GetAppPath+'pwd.ebf',GetAppPath+'pwd.dbf');
with tablePwd do
begin
Open;
First;
while not EOF do
begin
//判断用户名 相等
if tablePwdXDYName.value = txtXDYName.text then
begin
Edit;
tablePWDXDYName.value:=txtNewUser.text;
tablePWDPassword.value := s2;
Post;
Close;
Application.MessageBox('密码修改完成.', '修改密码', MB_OK + MB_ICONASTERISK + MB_DEFBUTTON1 + MB_APPLMODAL);
ysEncrypt(GetAppPath+'pwd.dbf',GetAppPath+'pwd.ebf');
exit;
end; //if end
next;
end; //while end
close;
end; //with end
end; //if end
end;
procedure TfrmLogin.txtNewUserKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then begin
txtNewPWD.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -