📄 frmlogin.pas
字号:
unit FrmLogin;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Buttons, StdCtrls, ExtCtrls,inifiles,ComObj,server_TLB;
type
TFrmLogin1 = class(TForm)
GroupBox1: TGroupBox;
Edit1: TEdit;
GroupBox2: TGroupBox;
Edit2: TEdit;
CheckBox1: TCheckBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Timer1: TTimer;
Timer2: TTimer;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Timer1Timer(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
function CheckTrue:boolean;
procedure LoginMainForm;
public
{ Public declarations }
end;
var
FrmLogin1: TFrmLogin1;
implementation
uses UnitDataModule, FrmMain, UnitConst;
{$R *.dfm}
//初始化
procedure TFrmLogin1.FormCreate(Sender: TObject);
var
myinifile:Tinifile;//ini文件
MyStr:string;
begin
if fileexists(extractfilepath(application.ExeName)+'config.ini') then
begin
myinifile:=Tinifile.Create(extractfilepath(application.ExeName)+'config.ini');
try
Edit2.Text:=myinifile.ReadString('CONFIG','ADDRESS','');
MyStr:=myinifile.ReadString('CONFIG','SHOWLOGIN','');
if MyStr='0' then
begin
CheckBox1.Checked:=false;
end
else begin
CheckBox1.Checked:=true;
end;
finally
myinifile.Free;
end;
end;
end;
procedure TFrmLogin1.BitBtn1Click(Sender: TObject);
begin
if CheckTrue=true then
LoginMainForm;
end;
function TFrmLogin1.CheckTrue:boolean;
begin
result:=false;
if trim(edit1.Text)='' then
begin
application.MessageBox('密码不能为空。','提示信息',MB_ok or MB_ICONINFORMATION);
exit;
end;
if trim(edit2.Text)='' then
begin
application.MessageBox('服务器地址不能为空。','提示信息',MB_ok or MB_ICONINFORMATION);
exit;
end;
if UnitDataModule1.NowLogin(edit2.Text)=false then
begin
application.MessageBox('连接服务器失败,请检查服务器地址是否正确。','提示信息',MB_ok or MB_ICONINFORMATION);
frmmain1.LogOut;
exit;
end;
if UnitDataModule1.CheckPass(edit1.Text)=false then
begin
application.MessageBox('连接服务器失败,请检查密码是否正确。','提示信息',MB_ok or MB_ICONINFORMATION);
exit;
end;
result:=true;
end;
procedure TFrmLogin1.LoginMainForm;
var
myinifile:Tinifile;//ini文件
begin
myinifile:=Tinifile.Create(extractfilepath(application.ExeName)+'config.ini');
try
{-----------------}
//进入主界面
frmmain1.Login(Edit2.Text);
//初始化接口
// MailServer1:=CreateRemoteComObject(Edit2.Text, CLASS_MailServer) as IMailServer;
//清空密码框
Edit1.Text:='';
//开始渐渐隐藏登录窗体
Timer1.Enabled:=true;
{-----------------}
myinifile.WriteString('CONFIG','ADDRESS',Edit2.Text);
if CheckBox1.Checked=true then
begin
myinifile.WriteString('CONFIG','SHOWLOGIN','1');
end
else begin
myinifile.WriteString('CONFIG','SHOWLOGIN','0');
end;
finally
myinifile.Free;
end;
end;
procedure TFrmLogin1.Timer1Timer(Sender: TObject);
begin
FrmLogin1.AlphaBlendValue:=FrmLogin1.AlphaBlendValue-10;
if FrmLogin1.AlphaBlendValue<25 then
begin
Timer1.Enabled:=false;
FrmLogin1.AlphaBlendValue:=255;
FrmLogin1.Close;
end;
end;
procedure TFrmLogin1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Edit1.Text:='';
end;
procedure TFrmLogin1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
BitBtn1Click(self);
end;
procedure TFrmLogin1.BitBtn2Click(Sender: TObject);
begin
Edit1.Text:='';
close;
end;
procedure TFrmLogin1.Timer2Timer(Sender: TObject);
begin
FrmLogin1.BringToFront;
Timer2.Enabled:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -