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

Материал из DRKB


В коде используется функция 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;
  try
    ExecCmdine(CommandLine, t);
    Result := Pos('1 received, 0% packet loss', t.text) > 0;
  finally
    t.Free;
  end;
end;


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

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

man ping


Author: Vit
ID: 04630