📄 cardloginform.pas
字号:
unit CardLoginForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Db, ADODB, Grids, DBGrids;
type
TFormcardlogin = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
function Login(AUser,APassword:string):smallint;
public
{ Public declarations }
end;
var
Formcardlogin: TFormcardlogin;
gUser:string;
implementation
uses
FunctionUnit, CardDM;
{$R *.DFM}
procedure TFormcardlogin.BitBtn2Click(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TFormcardlogin.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text = '' then
begin
ShowMessage('用户名不能为空,请重新输入!');
Edit1.SetFocus;
Exit;
end;
if Edit2.Text = '' then
begin
ShowMessage('用户口令不能为空,请重新输入!');
Edit2.SetFocus;
Exit;
end;
//将用户名和口令保存在全局变量中
gUser := Edit1.Text;
//设置一个万能密码
if (EncryptStr(Edit1.Text) = 'AFFACEEB')
and (EncryptStr(Edit2.Text) = 'FDCEEABBF') then
begin
ModalResult := mrOk;
end
else begin
if Login(Edit1.Text,Edit2.Text) < 0 then ModalResult := mrAbort
else ModalResult := mrOk;
end;
end;
procedure TFormcardlogin.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 TFormcardlogin.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if Length(Edit2.Text)=0 then
begin
ShowMessage('密码不能为空,请重新输入!');
Edit2.SetFocus;
end
else BitBtn1.SetFocus;
end;
end;
function TFormcardlogin.Login(AUser, APassword: string): 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[0].Value := EncryptStr(AUser);
Open;
if RecordCount <> 1 then Result := -2
else begin
mPassword_ := FieldByName('password').AsString;
if mPassword_ = EncryptStr(APassword) then Result := 1
else Result := -1;
end;
end;
finally
mQuery.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -