Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Как отобразить процесс опроса некоторого диапазона IP-адресов   Найти похожие ветки 

 
Артем К.   (2004-10-08 07:27) [0]

в ProgressBare?
Есть два списка, в которых хранятся части IP-адресов (IP1-начальный адрес, IP2-конечный адрес). IP1 и IP2 определяют диапазон опрашиваемых адресов.
000.000.000.000
3   2   1   0
Делаю перебор по диапазону адресов.

for i:=StrToInt(IP1.Strings[3])to StrToInt(IP2.Strings[3])do
for j:=StrToInt(IP1.Strings[2])to StrToInt(IP2.Strings[2])do
for n:=StrToInt(IP1.Strings[1])to StrToInt(IP2.Strings[1])do
for m:=StrToInt(IP1.Strings[0])to StrToInt(IP2.Strings[0])do begin
tmpIPAddress:=Format("%d.%d.%d.%d",[i,j,n,m]);
end;

Как этот процесс отобразить в ProgressBare?


 
Артем К.   (2004-10-08 08:39) [1]

Ну в общем-то я и сам разобрался. Если кому надо, привожу исходник:


//сначала делаем строки полных адресов из частей IP1 и IP2
ProgressBar.Min := ntohl(inet_addr(pchar(StartIPAddress)));
ProgressBar.Max := ntohl(inet_addr(pchar(EndIPAddress)));
for i:=StrToInt(IP1.Strings[3])to StrToInt(IP2.Strings[3])do
for j:=StrToInt(IP1.Strings[2])to StrToInt(IP2.Strings[2])do
for n:=StrToInt(IP1.Strings[1])to StrToInt(IP2.Strings[1])do
for m:=StrToInt(IP1.Strings[0])to StrToInt(IP2.Strings[0])do begin
tmpIPAddress:=Format("%d.%d.%d.%d",[i,j,n,m]);
ProgressBar.Position := ntohl(inet_addr(pchar(tmpIPAddress)));
end;


 
Reindeer Moss Eater ©   (2004-10-08 08:47) [2]

Как все сложно.

IP адрес - это одно целочисленное длиной 32 бита.
Диапазон адресов - это один цикл for.


 
КаПиБаРа ©   (2004-10-08 09:09) [3]

Reindeer Moss Eater ©   (08.10.04 8:47) [2]
В одном цикле это конечно просто, но если подумать, зачем опрашивать все адреса подсети, если к ней нет доступа?


 
Reindeer Moss Eater ©   (2004-10-08 09:11) [4]

А где я сказал, что их надо опрашивать?


 
Reindeer Moss Eater ©   (2004-10-08 09:11) [5]

И где сказано что к ним нет доступа?

И кто с утра отменил маски ?



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1097494617
Dinnik
2004-10-11 15:36
2004.10.24
Количество знаков после запятой


6-1092286937
DenTolstoy
2004-08-12 09:02
2004.10.24
Как на ходу изменить IP адрес сетевой карты


6-1092811600
DillerXX
2004-08-18 10:46
2004.10.24
Дайте линку на пример использования компонента TIdIRSserver


1-1097152691
sergg
2004-10-07 16:38
2004.10.24
Свойства КомбоБокс


3-1096360864
Denizzz
2004-09-28 12:41
2004.10.24
из DBF в Firebird 1.5