|
X- PLANET |
|
Пингер |
||
Начало |
Начнем, пожалуй с
того, что выясним, что такое пингер. Это
программа, позволяющая определить
существование IP-адреса и, например, время,
необходимое для пинга, что позволяет
оценить скорость. Итак, перед тем, как
начать кодить надо установить новую
библиотеку ICS (Internet Component Suite), которую вам
надо скачать. Теперь
разархивируйте ее в любой каталог, например,
/Delphi 6/Components/Net. Теперь запустите Дельфи.
Закройте автоматически созданный проект,
он нам не нужен. Теперь надо открыть файл
IcsdelXX.dpk (ХХ- номер установленной у вас дельфи.
Если стоит 6я или 7я, то откройте Icsdel50.dpk).
Когда вы откроете файл, перед вами появится
окно, вверху которого надо нажать на кнопку
"Install", чтобы дельфи скомпилировал и
проинсталлировал библиотеку. Теперь у вас
должно появиться окно: ![]() Если окно не появилось, прочтите все сначала. Теперь нужно открыть в меню Tools пункт Environment options и перейти на закладку Library, нажмите на кнопку справа от поля ввода Library Path, и в появившемся окне Теперь закройте все окна, нажимая к кнопку "ОК" и сохраняя все изменения. Создайте новый проект. На него поместите:
и расположите
примерно так же, как я. Главное - чтобы
строки ввода стояли так же. Кроме этого, добавьте SaveDialog (Dialogs) и Ping (FPiette). Их можно располагать как угодно, при исполнении проги они все равно не будут видны. Кодить начнем с самого простого - сохранение. В обработчике пишем: If SaveDialog1.Execute then Теперь Запрограммируем реакцию на нажатие SpeedButton1 RichEdit1.Lines.Clear; А вот теперь пойдет настоящий кодинг. Для начала прикинем, как должна работать наша программа. Главной ее задачей будет определение наличия IP-адреса и, как дополнение, время принятия ответного сигнала. Но проверять по одному адресу не интересно и достаточно долго. Мы автоматизируем процесс. Наша прога будет перебирать адреса от, например, 127.0.0.0 до 127.0.0.255, то есть варьировать последнее число. Итак, что для этого надо? Во первых, получить последнее число начального и конечного адреса, во-вторых - преребрать все адреса, которые находятся в этом промежутке и вывести результаты перебора в поле вывода RichEdit. Итак, пишем процедуру для кнопки "Ping": procedure TMainForm.Button3Click(Sender: TObject); SEAdr,//
символы до последней точки конечного
адреса {аналогичным
образом получаем последнее число из
конечного адреса} ScanAdr:=EndAdr-BegAdr;//получаем
количество проверяемых адресов Однако написание пингера этим не ограничивается. Надо написать еще несколько строчек. Выделите компонент Ping, перейдите в Object Inspector'e на закладку Events и на событие OnDnsLookupDone напишите: if Error <> 0 then
//если ошибка, то Теперь на событие OnEchoReply: if Error=0 then
//если ошибочка Вот теперь наш пингер окончен. Его можно протестировать, введя адрес 127.0.0.1 - это IPшка вашего компа (или что-то вроде этого). Для тестирования в "полевых" условиях надо подключиться к сети. Мой пингер в работе: Исходник можно взять здесь Copyright© - Константин, www.konstantin17.narod.ru/ |
|
Карта сайта | ||
Tips & Tricks | ||
DOWNLOAD | ||
Статьи | ||
Рассылка | ||
Гостевая | ||
Учеба | ||
Ссылки | ||
О проекте | ||
Реклама | ||