📄 login.~pas
字号:
unit login;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,inifiles, ExtCtrls,mmsystem,StrUtils;
const
cm_restore=wm_user+$1000;
myappname='project1';
type
Tform_logon = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
name: TEdit;
pass: TEdit;
jb: TComboBox;
inifile: TCheckBox;
gb: TGroupBox;
auto_run: TCheckBox;
auto_shutdown: TCheckBox;
Bevel1: TBevel;
GroupBox1: TGroupBox;
Label5: TLabel;
Edit1: TEdit;
Label6: TLabel;
Edit2: TEdit;
Label7: TLabel;
Edit3: TEdit;
Label8: TLabel;
Edit4: TEdit;
Label9: TLabel;
GroupBox2: TGroupBox;
SpeedButton4: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
Image1: TImage;
Image2: TImage;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Label9Click(Sender: TObject);
procedure Label9MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label9MouseLeave(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
procedure CreateParams(var params:Tcreateparams);override;
procedure Restorerequest(var message:Tmessage);message CM_RESTORE;
{ Public declarations }
end;
var
form_logon: Tform_logon;
myid:integer;
myname:string;
vis:boolean=true;
blnbtn_ok:boolean=false;
blnbtn_close:boolean=false;
blnbtn_option:boolean=false;
blnbtn_reset:boolean=false;
implementation
uses global,main,submain,U_global_setting;
{$R *.dfm}
// use dll
function encode(s:shortstring):shortstring;stdcall;external 'en_de_code.dll';
function decode(s:shortstring):shortstring;stdcall;external 'en_de_code.dll';
procedure myplaysound(soundfile:string);
begin
mcisendstring(pchar('close '+soundfile),nil,0,0);
mcisendstring(pchar('open '+soundfile),nil,0,0);
mcisendstring(pchar('play '+soundfile),nil,0,0);
end;
procedure Tform_logon.CreateParams(var params:Tcreateparams);
begin
inherited createparams(params);
params.WinClassName:=myappname;
end;
procedure Tform_logon.Restorerequest(var message:Tmessage);
begin
if isiconic(application.Handle)=true then
application.Restore
else
application.BringToFront;
end;
procedure Tform_logon.FormCreate(Sender: TObject);
var
myfile:Tinifile;
myname:string;
mypass:string;
myqx:string;
strip,strinitcat,strname,strpass:string;
s:shortstring;
begin
myfile:=Tinifile.Create(extractfilepath(application.ExeName)+'myfile.ini');
myname:=myfile.ReadString('user','usename','');
mypass:=myfile.ReadString('user','password','');
myqx:=myfile.ReadString('user','quanxian','');
strip:=myfile.ReadString('db_set','ipaddress','127.0.0.1');
strinitcat:=myfile.ReadString('db_set','db_name','exam');
strname:=myfile.ReadString('db_set','name','sa');
strpass:=myfile.ReadString('db_set','pass','');
myfile.Free;
if ((myname<>'')and(mypass<>'')and(myqx<>'')) then
begin
name.Text:=myname;
pass.Text:=mypass;
jb.Text:=myqx;
end;
edit1.Text:=strip;
edit2.Text:=strinitcat;
edit3.Text:=strname;
edit4.Text:=pass.Text;
end;
procedure Tform_logon.FormClose(Sender: TObject; var Action: TCloseAction);
begin
mcisendstring(pchar('close welcome.wav'),nil,0,0);
application.Terminate;
end;
procedure Tform_logon.Label9Click(Sender: TObject);
begin
if vis then
begin
label9.Caption:='隐藏数据库配置>>>';
height:=height+GroupBox1.height+10;
end
else
begin
label9.Caption:='显示数据库配置>>>';
height:=height-GroupBox1.height-10;
end;
vis:=not vis;
end;
procedure Tform_logon.Label9MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
label9.Font.Color:=clblue;
label9.Font.Style:=[fsbold];
end;
procedure Tform_logon.Label9MouseLeave(Sender: TObject);
begin
label9.Font.Color:=clwhite;
label9.Font.Style:=[];
end;
procedure Tform_logon.FormShow(Sender: TObject);
var
myfile:Tinifile;
which_:integer;
s:shortstring;
sread:string;
begin
myfile:=Tinifile.Create(extractfilepath(application.ExeName)+'myfile.ini');
which_:=myfile.ReadInteger('permission','en_decode',0);
sread:=myfile.ReadString('user','password','');
case which_ of
0:
pass.Text:=sread;
1:
pass.Text:=decode(rightstr(sread,length(sread)-1));
2:
pass.Text:=sread;
3:
pass.Text:=sread;
end;
myfile.Free;
end;
procedure Tform_logon.SpeedButton1Click(Sender: TObject);
var
myfile:Tinifile;
i:integer;
ss:string;
begin
if inifile.Checked then
begin
myfile:=Tinifile.Create(extractfilepath(application.ExeName)+'myfile.ini');
myfile.WriteString('user','usename',name.Text);
myfile.WriteString('user','password',pass.Text);
myfile.WriteString('user','quanxian',jb.Text);
global.ip:=myfile.ReadString('db_set','ipaddress','127.0.0.1');
global.db_name:=myfile.ReadString('db_set','name','sa');
global.db_pass:=myfile.ReadString('db_set','pass','');
global.db_initcat:=myfile.ReadString('db_set','db_name','exam');
myfile.Free;
end;
ss:='';
ss:='select ID,姓名,密码,类别 from 人员信息表';
ss:=ss+' where 姓名='''+name.Text+'''';
ss:=ss+' and 密码='''+pass.Text+'''';
ss:=ss+' and 类别='''+jb.Text+'''';
with main.DataModule2 do
begin
aq1.Close;
aq1.SQL.Clear;
aq1.sql.Add(ss);
aq1.Open;
if not aq1.Eof then
begin
myid:=aq1.FieldValues['id'];
myname:=aq1.FieldValues['姓名'];
global.userpass:=pass.Text;
submain.Form1.Show;
hide;
end
else
messagebox(handle,'请校对您输入的信息','错误信息',MB_OK);
end;
end;
procedure Tform_logon.SpeedButton2Click(Sender: TObject);
var
myfile:Tinifile;
begin
myfile:=Tinifile.Create(extractfilepath(application.ExeName)+'myfile.ini');
myfile.Writebool('option','auto_run',auto_run.Checked);
myfile.Writebool('option','auto_shutdown',auto_shutdown.Checked);
myfile.Free;
messagebox(handle,'配置成功','成功信息',MB_OK);
end;
procedure Tform_logon.SpeedButton3Click(Sender: TObject);
var
myfile:Tinifile;
begin
if MessageDlg('确实要擦除初始化文件所有信息?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
myfile:=Tinifile.Create(extractfilepath(application.ExeName)+'myfile.ini');
myfile.WriteString('user','usename','');
myfile.WriteString('user','password','');
myfile.WriteString('user','quanxian','');
myfile.Writebool('option','auto_run',false);
myfile.Writebool('option','auto_shutdown',false);
myfile.Free;
messagebox(handle,'恭喜,成功擦除初始化文件信息','恭喜',MB_OK);
end;
end;
procedure Tform_logon.SpeedButton4Click(Sender: TObject);
begin
application.Terminate;
end;
procedure Tform_logon.SpeedButton1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
speedbutton1.Cursor:=crhandpoint;
end;
procedure Tform_logon.SpeedButton2MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
speedbutton2.Cursor:=crhandpoint;
end;
procedure Tform_logon.SpeedButton3MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
speedbutton3.Cursor:=crhandpoint;
end;
procedure Tform_logon.SpeedButton4MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
speedbutton4.Cursor:=crhandpoint;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -