⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.~pas

📁 学员管理的软件
💻 ~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 + -