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

Вниз

ip + ip   Найти похожие ветки 

 
ronyn   (2006-07-03 00:37) [0]

как прибавить значение к айпихе? т.е. смысл в следующем -
айпи адрес увеличивается на единицу в некотром диапазоне.
использую TInAddr. каким убразом переменную этого типа увеличить на 1 (2,3,4,5....)
                                    Заранее благодарен.


 
Шпиён   (2006-07-03 02:48) [1]

Например, TInAddr.S_addr + 1 -)

ps

type
 SunB = packed record
   s_b1, s_b2, s_b3, s_b4: u_char;
 end;

 SunW = packed record
   s_w1, s_w2: u_short;
 end;

 TInAddr = packed record
   case integer of
     0: (S_un_b: SunB);
     1: (S_un_w: SunW);
     2: (S_addr: u_long);
 end;


 
Шпиён   (2006-07-03 02:58) [2]

Немного не так написал, явно спать пора  -)


var Ad:TInAddr;
.............................
Ad.S_addr := Ad.S_addr + 2;

//или Inc(Ad.S_addr,2);



Для "общего развития" можно посмотреть:
http://forum.sources.ru/index.php?showtopic=119027&st=0&#entry892976


 
Пусик ©   (2006-07-03 03:14) [3]

В [2] дана ссылка на схожую проблему.
Вот еще одна с полным решением:
http://forum.vingrad.ru/index.php?showtopic=98711


 
Дмитрий Белькевич ©   (2006-07-03 04:20) [4]

Я бы, конечно, на asm"e сделал, но как народ на это посмотрит? ;)
Что-то типа:

asm
inc [InAddr]
end;

Но есть нюансы, в зависимости от размещения этого самого InAddr - она глобальная, локальная. С глобальной в юните - прокатит. С локальной afair еще разыменовывать дополнительно нужно.



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

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

Наверх




Память: 0.47 MB
Время: 0.074 c
2-1151955143
Footballer
2006-07-03 23:32
2006.07.23
Чё такое Handle?


15-1151396372
Dok
2006-06-27 12:19
2006.07.23
Кто как дебажит юникод?


6-1142345239
Skazi
2006-03-14 17:07
2006.07.23
Печать и IntraWeb


15-1150884033
syte_ser78
2006-06-21 14:00
2006.07.23
Гемберд или Каньон?


3-1148030775
Некто
2006-05-19 13:26
2006.07.23
Составноей ЕК (первичный) и автоинкрементый СК (связи)