![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правельно сделать пинг? [D7, XP]
Sunrice © (2005-10-13 14:07:00)В общем задача такая, нужно что бы программа посылала ICMP-пакеты на сервер, если сервер доступен, передавала значение n'ой переменной - 1, если сервер недоступен - 0.
С ShellAPI(или другим компонентом, выполняющим подобные ф-ции) раньше работать не приходилось, понятия не имею как это возможно осуществить. Подскажите пожалуйсто. Спасибо.
Sunrice (2005-10-13 22:28:00) [1]Digitman © (13.10.05 16:12) [11] , 2ALL.
Объясните пожалуйсто поэтапно, как пропинговать сервер, до меня никак не доходит =/
Sunrice (2005-10-13 18:47:00) [2]Digitman © (13.10.05 16:12) [11]
Незнаю сути. Пояснити.
У меня всё сплошь "Undeclared identifier".
Digitman (2005-10-13 16:12:00) [3]
> Как я это выполню, если консоль? =)
ну а как ты это выполнишь, если, к примеру, "бросить" нужно не какой-то там заумный TIdICMPClient, а обычный "таймер" ? то бишь знакомый до боли TTimer ?
суть-то - одна и та же)
Sunrice (2005-10-13 15:28:00) [4]в случае же с TIdICMPClient у тебя в палитре компонентов Делфи должна присутствовать закладка с Инди-компонентами "Indy Clients" .. иначе непонятно, что ты бросал на форму)
> забыл добавить, что приложение консолевое
консолевое оно у тебя будет или неконсолевое - строго по колено)
Как я это выполню, если консоль? =)
Digitman (2005-10-13 15:25:00) [5]
> В любом случаи.
в каком таком "любом случа и" ?
в случае с ICMPSendEcho() тебе нужно импортировать эту ф-цию из icmp.dll, т.е. прежде чем обращаться к ней ты должен описать ее Паскаль-прототип (см. описание ф-ции в msdn.microsoft.com)
в случае же с TIdICMPClient у тебя в палитре компонентов Делфи должна присутствовать закладка с Инди-компонентами "Indy Clients" .. иначе непонятно, что ты бросал на форму)
> забыл добавить, что приложение консолевое
консолевое оно у тебя будет или неконсолевое - строго по колено)
Sunrice (2005-10-13 15:09:00) [6][Error] Unit1.pas(28): Undeclared identifier: 'ICMPSendEcho'
[Error] Unit1.pas(28): Undeclared identifier: 'TIdICMPClient'
В любом случаи.
Fay (2005-10-13 14:45:00) [7]2 Sunrice (13.10.05 14:33) [6]
Создай новое формоваевое приложение и кинь на Form1.
Посмотри на uses.
Sunrice (2005-10-13 14:33:00) [8]Digitman © (13.10.05 14:30) [5]
Эм, забыл добавить, что приложение консолевое %)
Digitman (2005-10-13 14:30:00) [9]если будешь использовать Indy, то ничего не надо.
ты же не удивляешься, что бросив на форму кнопку тебе не приходится при этом ничего в uses прописывать ?
Sunrice (2005-10-13 14:28:00) [10]Digitman © (13.10.05 14:26) [3]
Просто я незнаю что нужно в uses прописывать.
Digitman (2005-10-13 14:26:00) [11]никакой.
это эксп.ф-ция в составе ICMP.DLL
а если именно компонент интересует, то можно использовать, например, TIdICMPClient (библиотека InDy)
Sunrice (2005-10-13 14:22:00) [12]Какой компонент?
Digitman (2005-10-13 14:18:00) [13]см. ICMPSendEcho()