BSOne.SFC/Tocsg.Module/RemoteSecu/EXE_RemoteSecuClient/DConnectInfo.pas

104 lines
2.4 KiB
Plaintext

unit DConnectInfo;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, RSecuClient,
Tocsg.Controls;
type
TDlgConnectInfo = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edIp: TEdit;
edPort: TEdit;
edEmpNo: TEdit;
btnOk: TButton;
btnCancel: TButton;
chAutoConn: TCheckBox;
procedure btnOkClick(Sender: TObject);
private
{ Private declarations }
Client_: TRSecuClient;
MgCtrls_: TManagerInputControlsData;
public
{ Public declarations }
Constructor Create(aOwner: TComponent; aClient: TRSecuClient);
Destructor Destroy; override;
end;
var
DlgConnectInfo: TDlgConnectInfo;
implementation
uses
Tocsg.Path, Tocsg.Network;
{$R *.dfm}
Constructor TDlgConnectInfo.Create(aOwner: TComponent; aClient: TRSecuClient);
begin
Inherited Create(aOwner);
Client_ := aClient;
MgCtrls_ := TManagerInputControlsData.Create(CutFileExt(GetRunExePath) + '.ini');
MgCtrls_.RegInputCtrl(edIp);
MgCtrls_.RegInputCtrl(edPort);
MgCtrls_.RegInputCtrl(edEmpNo);
MgCtrls_.RegInputCtrl(chAutoConn);
MgCtrls_.Load;
end;
Destructor TDlgConnectInfo.Destroy;
begin
FreeAndNil(MgCtrls_);
Inherited;
end;
procedure TDlgConnectInfo.btnOkClick(Sender: TObject);
var
nPort: Integer;
begin
edIp.Text := Trim(edIp.Text);
edPort.Text := Trim(edPort.Text);
edEmpNo.Text := Trim(edEmpNo.Text);
if edIp.Text = '' then
begin
MessageBox(Handle, PChar('IP 주소를 입력해 주십시오.'), PChar(Caption), MB_ICONWARNING or MB_OK);
edIp.SetFocus;
exit;
end;
if not IsValidIP(edIp.Text) then
begin
MessageBox(Handle, PChar('유효하지 않은 IP 주소 입니다.'), PChar(Caption), MB_ICONWARNING or MB_OK);
edIp.SetFocus;
exit;
end;
nPort := StrToIntDef(edPort.Text, -1);
if nPort = -1 then
begin
MessageBox(Handle, PChar('포트를 입력해 주십시오.'), PChar(Caption), MB_ICONWARNING or MB_OK);
end;
if edEmpNo.Text = '' then
begin
MessageBox(Handle, PChar('사번을 입력해 주십시오.'), PChar(Caption), MB_ICONWARNING or MB_OK);
edEmpNo.SetFocus;
exit;
end;
MgCtrls_.Save;
Client_.EmpNo := edEmpNo.Text;
if Client_.Connect(edIp.Text, nPort) then
ModalResult := mrOk
else
MessageBox(Handle, PChar('서버 접속에 실패했습니다.'+#13+#10+'접속 정보를 확인 후 다시 시도해 주십시오.'), PChar(Caption), MB_ICONWARNING or MB_OK);
end;
end.