📄 login_unit.pas
字号:
unit login_unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ShellApi, DB, DBTables, XPMenu, ADODB, Grids, DBGrids;
type
Tlogin = class(TForm)
Panel1: TPanel;
Image1: TImage;
Label2: TLabel;
Label3: TLabel;
Image2: TImage;
edit1: TEdit;
Button1: TButton;
Button2: TButton;
Panel2: TPanel;
Button3: TButton;
CheckBox1: TCheckBox;
Label7: TLabel;
ComboBox1: TComboBox;
XPMenu1: TXPMenu;
ADOQuery1: TADOQuery;
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure kkk(Sender: TObject; var Key: Char);
procedure onkeydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure onclick2(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure oncloseform(Sender: TObject; var Action: TCloseAction);
procedure Button3Click(Sender: TObject);
procedure AdminTag(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
login: Tlogin;
times_login:integer;
implementation
uses MainFormUnit, MainDataModule;
{$R *.dfm}
procedure Tlogin.Button2Click(Sender: TObject);
begin
close;
end;
procedure Tlogin.FormCreate(Sender: TObject);
var
UserName:string;
begin
try
image1.Picture.LoadFromFile(MainAppLoginBgImage);
finally
end;
with adoquery1 do
begin
close;
sql.Clear;
sql.add('select * from LoginTable');
open;
while not eof do
begin
username:='〖'+trim(fieldbyname('帐号').AsString)+'〗'+trim(fieldbyname('姓名').AsString);
combobox1.Items.add(username);
Next;
end;
end;
combobox1.ItemIndex:=0;
end;
procedure Tlogin.kkk(Sender: TObject; var Key: Char);
begin
if key=#13 then button1.Click;
end;
procedure Tlogin.onkeydown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_f4) and ([ssalt]=shift) then key:=0; //拒绝使用F4+ALT关闭窗体;
end;
procedure Tlogin.onclick2(Sender: TObject);
begin
edit1.Text:='';
end;
procedure Tlogin.Button1Click(Sender: TObject);
var
LoginId:string;
begin
inherited;
cursor:=crHourGlass;
if checkbox1.Checked then
begin
if edit1.Text=MainAppAdminPassword then
begin
ShellExecute(handle,nil,pchar('admin.exe'),nil,nil,sw_shownormal);
end else
messageBox(Handle,'管理员密码错误,请重新登录!','系统警告',MB_ok+MB_ICONWARNING);
cursor:=crdefault;
exit;
end else
begin
LoginId:=copy(combobox1.Text,3,(pos('〗',combobox1.text)-3));
adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.add('select 密码 from logintable where 帐号='''+loginid+'''');
adoquery1.open;
cursor:=crdefault;
if adoquery1.Fields[0].asstring=edit1.text then
begin
mainform.r1.Enabled:=not mainform.r1.Enabled;
mainform.l1.Enabled:=not mainform.l1.Enabled;
mainform.E1.Visible:=not mainform.E1.Visible;
mainform.U1.Visible:=not mainform.U1.Visible;
mainform.p1.Visible:=not mainform.p1.Visible;
mainform.CoolBar1.Enabled:=not mainform.CoolBar1.Enabled;
mainform.l1.Caption:='注销('+loginid+')&L...';
mainform.StatusBar1.Panels[3].Text:=' 操作员:'+combobox1.text;
close;
end else
MessageBox(Handle,PChar('帐号'+combobox1.text+' 密码错误,请重新登录。'),'信息',MB_OK or MB_ICONWARNING);
edit1.Text:='';
exit;
end;
end;
procedure Tlogin.oncloseform(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure Tlogin.Button3Click(Sender: TObject);
begin
gethelp;
end;
procedure Tlogin.AdminTag(Sender: TObject);
begin
combobox1.Enabled:=not checkbox1.Checked;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -