Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите с пингом


Страницы:   1 2 3 4 5

linuxoid ©   (2010-07-12 13:05:00) 

Здравствуйте.

имеется таблица в базе с ip-адресами. нужно поочередно всех пропинговать.

tablebase.Open;
tablebase.First;
for i:=1 to tablebase.recordcount do begin
adres:=tablebase.fields.Fields[2].AsString;
icmp.Host:=adres;
icmp.Ping();
listbox1.Items.Add('Время до хоста: '+' - '+inttostr(icmp.ReplyStatus.MsRoundTripTime)+'ms')
tablebase.Next;

скажите в чем проблема?


linuxoid   (2010-07-12 14:25:00) [81]

нужен наилучший вариант кода который проверит на наличие доступности хоста в сети.


Dennis I. Komarov   (2010-07-12 14:20:00) [82]


> linuxoid   (12.07.10 13:48) [6]

А зачем?


Dennis I. Komarov   (2010-07-12 14:18:00) [83]


> 12 ©   (12.07.10 14:06) [14]

Воробьев не жалко?


12   (2010-07-12 14:06:00) [84]

ассинхронный режим


linuxoid   (2010-07-12 14:05:00) [85]

ну и как это можно решить?
я с ProcessMessages; не работал


Dennis I. Komarov   (2010-07-12 14:03:00) [86]

ProcessMessages; И куда бы ее поставить???


linuxoid   (2010-07-12 14:00:00) [87]

end есть. забыл дописать.

tablebase.Open;
tablebase.First;
for i:=1 to tablebase.recordcount do begin
adres:=tablebase.fields.Fields[2].AsString;
icmp.Host:=adres;
icmp.Ping();
listbox1.Items.Add('Время до хоста: '+' - '+inttostr(icmp.ReplyStatus.MsRoundTripTime)+'ms')
tablebase.Next;
end;

если же в базу много хостов, то программа просто зависает.
когда использовал массив adres[i] программа поочередно пинговала хосты и добавляла в листбокс. а вот с базой проблемы.


Anatoly Podgoretsky   (2010-07-12 13:57:00) [88]

Свидетель постоянно путал показания.


Anatoly Podgoretsky   (2010-07-12 13:56:00) [89]


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

Онад добавляет в отчет строку за строкой, просто ты не обрабатываешь сообщения и тебе кажется, что потом.


Медвежонок Пятачок   (2010-07-12 13:54:00) [90]

хотелось бы чтоб она как пропингует один хост и сразу же добавил б отчет в листбокс.  

"она" в приведенном коде именно так и делает.


Юрий Зотов   (2010-07-12 13:52:00) [91]


> linuxoid   (12.07.10 13:48) [6]

1. Есть begin, а где end к нему? Похоже, не в том месте, где надо.
2. Не используйте RecordCount. См. [5].


linuxoid   (2010-07-12 13:48:00) [92]

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


Anatoly Podgoretsky   (2010-07-12 13:42:00) [93]

используй while not eof


linuxoid   (2010-07-12 13:33:00) [94]

точнее зависает при поочередном переборе


linuxoid   (2010-07-12 13:29:00) [95]

не перебирает по строкам.


Anatoly Podgoretsky   (2010-07-12 13:28:00) [96]

> linuxoid  (12.07.2010 13:05:00)  [0]

А у тебя есть проблема?


Dennis I. Komarov   (2010-07-12 13:19:00) [97]

На сосне висят два банана.

скажите в чем проблема?


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо