D7DJjianzeng/检验主程序/U_Link.pas

119 lines
2.9 KiB
ObjectPascal
Raw Normal View History

2025-01-20 14:30:35 +08:00
unit U_Link;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
IniFiles, Dialogs, ScktComp, ExtCtrls;
type
TCommBlock = record
workFlag: integer; //0:<3A><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
linkString: string[255];
// buf:array [0..Buffersize] of char;
end;
TfrmLink = class(TForm)
CSocket: TClientSocket;
AADs: TPanel;
procedure CSocketRead(Sender: TObject; Socket: TCustomWinSocket);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure CSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
procedure FormDestroy(Sender: TObject);
procedure CSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
fADOConnString: string;
LinkFlag: string;
function LinkTxServer(): Boolean;
{ Public declarations }
end;
var
frmLink: TfrmLink;
implementation
//uses U_Main;
{$R *.dfm}
function TfrmLink.LinkTxServer(): Boolean;
var
CommBlock: TCommBlock;
begin
result := false;
try
CommBlock.workFlag := strtointdef(LinkFlag, -1);
CommBlock.linkString := '';
CSocket.Socket.SendBuf(CommBlock, SizeOf(CommBlock));
Result := true;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
end;
end;
procedure TfrmLink.CSocketRead(Sender: TObject; Socket: TCustomWinSocket);
var
CommBlock1: TCommBlock;
begin
try
CSocket.Socket.ReceiveBuf(CommBlock1, SizeOf(CommBlock1));
// fADOConnString := trim(CommBlock1.linkString);
fADOConnString :='Provider=SQLOLEDB.1;Password=rightsoft@123;Persist Security Info=True;User ID=haoyuesa;Initial Catalog=leixiaofudata;Data Source=47.101.61.158,7781' ;
ModalResult := 1;
except
ModalResult := -1;
end;
end;
procedure TfrmLink.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmLink.CSocketConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
if not LinkTxServer() then
ModalResult := -1;
end;
procedure TfrmLink.FormDestroy(Sender: TObject);
begin
frmLink := nil;
end;
procedure TfrmLink.CSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', MB_ICONERROR);
application.Terminate;
end;
procedure TfrmLink.FormCreate(Sender: TObject);
var
IniFile: TIniFile;
LinkServer: string;
begin
try
IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'SYSTEMSET.INI');
LinkServer := IniFile.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
// LinkServer := '47.101.61.158';
LinkFlag := IniFile.ReadString('SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>', '0');
finally
IniFile.Free;
end;
try
CSocket.Host := trim(LinkServer);
CSocket.Port := 47936;
CSocket.Open;
except
ModalResult := -1;
end;
end;
end.