desarrollosconsejeria/aulalinex-alumno/4.2-16/aulalinexexamen/clrespuesta.pas @ a2ba555f
a2ba555f | Elisa | unit clrespuesta;
|
|
{$mode objfpc}{$H+}
|
|||
interface
|
|||
uses
|
|||
Classes, SysUtils,IdTCPClient;
|
|||
type
|
|||
ThrRespuesta = class(TThread)
|
|||
private
|
|||
fhost,fcomando:string;
|
|||
fcliente:TIdTcpClient;
|
|||
procedure cerrar;
|
|||
protected
|
|||
procedure Execute; override;
|
|||
public
|
|||
constructor Create(host,comando:string);
|
|||
end;
|
|||
implementation
|
|||
uses main;
|
|||
const
|
|||
PUERTO:integer=37255;
|
|||
constructor ThrRespuesta.Create(host,comando:string);
|
|||
begin
|
|||
inherited Create(true);
|
|||
fhost:=host;
|
|||
fcomando:=comando;
|
|||
FreeOnTerminate:=True;
|
|||
end;
|
|||
procedure ThrRespuesta.Execute;
|
|||
begin
|
|||
try
|
|||
try
|
|||
fcliente:=TidTcpClient.create(nil);
|
|||
try
|
|||
fcliente.Host:=fhost;
|
|||
fcliente.port:=PUERTO;
|
|||
fcliente.ConnectTimeout:=1000;
|
|||
fcliente.connect;
|
|||
fcliente.GetResponse(200);
|
|||
fcliente.sendCmd(fcomando,260);
|
|||
finally
|
|||
fcliente.Disconnect;
|
|||
fcliente.free;
|
|||
end;
|
|||
finally
|
|||
synchronize(@cerrar);
|
|||
end;
|
|||
except
|
|||
writeLn('Error al enviar respuesta');
|
|||
end;
|
|||
end;
|
|||
procedure ThrRespuesta.cerrar;
|
|||
begin
|
|||
frmMain.finalizar;
|
|||
end;
|
|||
end.
|
|||