Exemplo simples de como usar ping com o componente idicmpclient (indy)
Inclua o componente IdIcmpClient da paleta Indy Clients. Neste exemplo, o componente foi renomeado para "Pingador". Sendo Form1 o nome do formulário, crie uma função de nome EstaVivo para retornar tipo booleano.
function EstaVivo(IP: String): boolean;
e na seção Implements:
function TForm1.EstaVivo(IP: String): boolean; begin
with Pingador dobegin
Host := IP;
ReceiveTimeout := 500;
Ping; if ReplyStatus.BytesReceived > 0 then
result := true else
result := false; end;
end;
Exemplo de como usar:
procedure TForm1.Button1Click(Sender: TObject); begin
if EstaVivo2(Edit1.Text) then
ShowMessage('Vivo') else
ShowMessage('Morto');