domingo, 7 de outubro de 2012

Ping Delphi7 com IdIcmpClient

Estamos aqui novamente com uma dica utilizando-se somente do componente, sem sua ação visual:
Pingando com IdIcmpClient - Delphi 7

Siga as instruções abaixo:

// declare na seção uses:
IdBaseComponent, IdComponent, IdRawBase, IdRawClient, IdIcmpClient // Uses para IdIcmpClient

// caso queira publicar esta função não se esqueça de inclui-la na seção
// private ou na seção public, ou diretamente na parte de procedures e function da unit
// e em caso de um formulario visual, colocar a classe do formulário, ex:
//Function TForm1.Ping(HostName: String): boolean;

Function Ping(HostName: String): boolean;
var
 i, Soma, BytesRecebidos : Integer;
 PckEntregue : Array[1..3] of Integer;
 ICMP : TIdIcmpClient;
begin
try
 ICMP := TIdIcmpClient.Create(nil);
  try
   ICMP.Host := HostName;
   ICMP.ReceiveTimeout := 500;
   ICMP.Ping;
    if ICMP.ReplyStatus.BytesReceived > 0 then
     result := true
     else
      result := false;
  except
   result := false;
  end;

finally
 ICMP.Destroy;
end;

end;

Nenhum comentário:

Postar um comentário