Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как сделать Ping?

01.01.2007

В коде используется функция ExecCmdine из статьи: Как запустить консольное приложение и перехватить вывод?

function Ping(host:string):boolean;
 
var  params, CommandLine:string;
       t
:TStringList;
       i
:integer;
begin
 
Params := Format('-s%d ', [32]);
 
Params := Params+Format('-c%d ', [1]);
 
CommandLine := Format('ping %s%s', [Params, host]);
  t
:=TStringList.Create;
 
ExecCmdine(CommandLine, t);
 
Result:=pos('1 received, 0% packet loss', t.text)>0;
  t
.free;
end;

Примечание

Под отладчиком Kylix код может не работать. Надо запускать приложение не под Kylix для того чтобы удостовериться что код работает.

Более подробную информацию можно получить запустив в консоле:

man ping

Автор: Vit