📄 login.pas
字号:
unit login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;
type
Tlogin_Form = class(TForm)
Label1: TLabel;
username: TEdit;
Label2: TLabel;
userpass: TEdit;
cmdOk: TButton;
cmdCancel: TButton;
ADOQuery1: TADOQuery;
procedure cmdCancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure cmdOkClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
maxtimes,logintimes:integer;
public
{ Public declarations }
end;
var
login_Form: Tlogin_Form;
implementation
{$R *.dfm}
procedure Tlogin_Form.cmdCancelClick(Sender: TObject);
begin
Close;
end;
procedure Tlogin_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg('你选择了系统退出,退出将不能启动管理系统,是否真的退出?',mtConfirmation, [mbYes, mbNo], 0) = mrYes THEN
begin
ACTION:=caFree;
end
ELSE
ACTION:=caNone;
end;
procedure Tlogin_Form.cmdOkClick(Sender: TObject);
var
lasttime,aname,apass,sqlstr:string;
begin
inc(logintimes);
if logintimes>maxtimes then
begin
ShowMessage('你已经超过允许验证次数!,将退出登录系统!');
Application.Terminate;
end
else
begin
if (length(trim(username.Text)) > 0) or (length(trim(userpass.Text)) > 0) then
begin
aname:=trim(username.Text);
apass:=trim(userpass.Text);
sqlstr:='select * from t_user where (username='''+aname+''') and(userpass='''+apass+''')';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
begin
lasttime:=DateTimeToStr(date);
sqlstr:='update t_user set times=times+1,lasttime='''+lasttime+''' where (username='''+aname+''')';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.ExecSQL;
end
else
begin
showmessage('请确认登录的用户名和密码是否正确!');
username.SetFocus;
username.SelectAll;
end;
end
else
begin
showmessage('请输入登录用户名和密码!');
username.SelectAll;
end;
end;
end;
procedure Tlogin_Form.FormCreate(Sender: TObject);
begin
maxtimes:=3;
logintimes:=0;
end;
procedure Tlogin_Form.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if not (ActiveControl is TDBGrid) then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end
else
if (ActiveControl is TDBGrid) then
begin
with TDBGrid(ActiveControl) do
if SelectedIndex<(fieldcount-1) then
SelectedIndex:=SelectedIndex+1
else
SelectedIndex:=0;
end
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -