Как сделать 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