Форум: "Начинающим";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c