📄 ulogon.pas
字号:
unit uLogon;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, StdCtrls, ComCtrls, Buttons, IniFiles, ActnList,
IdGlobal;
type
TfrmLogon = class(TForm)
Image1: TImage;
dtp_date: TDateTimePicker;
Le_userH: TLabeledEdit;
Le_password: TLabeledEdit;
Label2: TLabel;
sb_ok: TSpeedButton;
sb_cancel: TSpeedButton;
CheckBox1: TCheckBox;
procedure sb_cancelClick(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure sb_okClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure dtp_dateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Le_userHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Le_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormShow(Sender: TObject);
private
procedure getInitFile;
procedure setInitFile;
procedure getUserLimit();
procedure connect_server;
{ Private declarations }
public
{ Public declarations }
end;
var moveX,moveY:integer;
InitFile: TInifile;
implementation
uses uPublic, uGlobal;
{$R *.dfm}
procedure TfrmLogon.sb_cancelClick(Sender: TObject);
begin
application.Terminate;
end;
procedure TfrmLogon.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
moveX := X;
moveY := y;
end;
procedure TfrmLogon.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssleft in shift then
begin
left := left+x-moveX;
top := top+y-moveY;
end;
end;
procedure TfrmLogon.sb_okClick(Sender: TObject);
var s_userN: String;
cGrp: string;
begin
connect_server;
if not frmMain.DCOMCn.Connected then
exit;
if frmMain.DCOMCn.AppServer.IPublogin(le_userH.Text,
le_password.Text,s_userN,cGrp) = 1 then
begin
path := extractFilePath(application.ExeName);
dqTime := dtp_date.DateTime;
user := s_userN;
codeUser := Le_userH.Text;
cGroup := cGrp;
setinitFile;
getUserLimit;
modalresult := mrok;
end else
infoWnd('帐号或密码错误,你没有进入系统的权限!');
le_password.Clear;
end;
procedure TfrmLogon.getInitFile;
var InitFileName,
sourceInitFileName: string;
begin
InitFileName := 'C:\weijie_sys.ini';
sourceInitFileName := ExtractFilePath(application.ExeName)+'weijie_sys.ini';
if not FileExists(InitFileName) then
CopyFileTo(sourceInitFileName,InitFileName);
initFile := TInifile.Create(InitFileName);
checkbox1.checked := initfile.readbool('control','IsRember',false);
dtp_date.Date := initFile.readDatetime('setting','Logon_date',date);
le_userH.Text := initFile.readString('user','user','');
le_password.Text := initFile.readString('user','passWord','');
end;
procedure TfrmLogon.setInitFile;
begin
if checkBox1.Checked then begin
initFile.WriteBool('control','IsRember',true);
initFile.WriteString('user','user',le_userH.Text);
initFile.WriteString('user','password',le_password.Text);
end
else
begin
initFile.WriteBool('control','IsRember',false);
initFile.WriteString('user','user',le_userH.Text);
initFile.WriteString('user','password','');
end;
initFile.Destroy;
end;
procedure TfrmLogon.FormDestroy(Sender: TObject);
begin
if Assigned(initFile) then
initFile.Destroy;
end;
procedure TfrmLogon.dtp_dateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return:le_userH.SetFocus;
end;
end;
procedure TfrmLogon.Le_userHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return:le_password.SetFocus;
end;
end;
procedure TfrmLogon.Le_passwordKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case key of
vk_return: sb_okClick(nil);
end;
end;
procedure TfrmLogon.getUserLimit;
begin
with frmMain.cdPub do begin
close;
commandText := 'select cActName,bAction from T_Userlimit'+#13+
'where cCode = '''+le_userH.Text+'''';
Open;
end;
end;
procedure TfrmLogon.FormShow(Sender: TObject);
begin
getInitFile;
end;
procedure TfrmLogon.connect_server;
{var
s_ip:string;}
begin
try
//if com_serverId.Text <> '' Then
frmMain.DCOMCn.Connected:=false;
//frmMain.DCOMCn.address := com_serverId.text;
frmMain.DCOMCn.Connected:=true;
except
on exception do begin
try
//frmMain.socketCn.Connected:=false;
//frmMain.SocketCn.Address := com_serverId.Items[1];
frmMain.DCOMCn.Connected :=true;
//frmMain.SOBroker.SetConnectStatus(frmMain.socketCn.Address,false);
except
try
//frmMain.socketCn.Connected:=false;
//frmMain.SocketCn.Address := com_serverId.Items[2];
frmMain.DCOMCn.Connected :=true;
{s_ip:=frmMain.SOBroker.GetComputerForProgID(frmMain.socketCn.Address);
frmMain.socketCn.Address := s_ip;
frmMain.socketCn.Connected:=true; }
except
ErrorWnd(SconnetE);
frmMain.DCOMCn.Connected :=false;
end;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -