📄 longon.pas
字号:
unit Longon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, DB, ADODB;
type
TLogonForm = class(TForm)
Panel1: TPanel;
StatusBar1: TStatusBar;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
ADOQuery1: TADOQuery;
procedure Timer1Timer(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
function checkuser(uname, upwd: string): boolean;
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
LogonForm: TLogonForm;
count:integer;
implementation
uses DataModul, mainunit;
{$R *.dfm}
procedure TLogonForm.Timer1Timer(Sender: TObject);
begin
statusbar1.Panels[1].Text:=datetimetostr(now);
end;
procedure TLogonForm.Button2Click(Sender: TObject);
begin
if Application.MessageBox('确定要取消吗?', '取消',
MB_ICONINFORMATION + MB_YESNO)= id_yes then
application.Terminate;
end;
procedure TLogonForm.Button1Click(Sender: TObject);
begin
if (edit1.text='') then
begin
application.MessageBox('用户名不能为空','错误提示',mb_ok);
count:=count+1;
if (count=3) then
begin
application.MessageBox('用户名或密码输入错误三次,系统即将退出!','提示',mb_ok);
application.Terminate;
end;
edit2.Text:='';
edit1.SetFocus;
end
else
if checkuser(edit1.Text,edit2.Text)=false then
begin
application.MessageBox('用户名或密码输入有误','错误提示',mb_ok);
count:=count+1;
if (count=3) then
begin
application.MessageBox('用户名或密码输入错误三次,系统即将退出!','提示',mb_ok);
application.Terminate;
end;
edit2.Text:='';
edit1.SetFocus;
end
else
if checkuser(edit1.Text,edit2.Text)=true then
begin
logonForm.Close;
end ;
end;
function TLogonForm.checkuser(uname, upwd: string): boolean;
var
userquery:TAdoquery;
sqlstr:string;
begin
userquery:=TAdoquery.Create(self);
with userquery do
begin
connection :=dm.ADOConnection1;
sqlstr:='select * from Tuser where UName=:uname and UPassWord=:upwd';
sql.Text:=sqlstr;
parameters.ParamByName('uname').Value:=uname;
parameters.ParamByName('upwd').Value:=upwd;
active:=true;
try
if recordcount>0 then
begin
result:=true;
dm.uno:=fieldbyname('uno').AsString;
dm.uname:=fieldbyname('uname').AsString;
end
else
result:=false;
finally
close;
free;
end;
end;
end;
procedure TLogonForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
Perform(WM_NEXTDLGCTL, 0, 0);
end;
procedure TLogonForm.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
button1.Click;
end;
end;
procedure TLogonForm.FormShow(Sender: TObject);
begin
edit1.SetFocus;
end;
procedure TLogonForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if dm.uno= '' then
application.Terminate ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -