![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ip addr -> hexademical [D6, Win95/98, WinXP]
k123 © (2003-03-31 17:45:00)Как сделать сабж?
например
127.0.0.1 -> 7F000001
или чтото подобное.
nikus (2003-04-01 01:29:00) [1]Тебе точно нужно 7F000001? Вообще-то согласно Intel"овской архитектуре адреса принято передавать справа налево, то есть 0100007F. Однако тебе ничего не межает поменять байты местами.
uses Winsock;
.......
var
addr : in_addr;
c : char;
begin
//Преобразуем строковый адрес в число
addr.S_addr := inet_addr(PChar("127.0.0.1"));
{Располагаем байты адреса в обратном порядке, т.к. функция вернула число в формате "d.c.b.a", а нам надо "a.b.c.d"}
c := addr.S_un_b.s_b1;
addr.S_un_b.s_b1 := addr.S_un_b.s_b4;
addr.S_un_b.s_b4 := c;
c := addr.S_un_b.s_b2;
addr.S_un_b.s_b2 := addr.S_un_b.s_b3;
addr.S_un_b.s_b3 := c;
Form1.Caption := IntToHex(addr.S_addr, 8);
end;
k123 (2003-03-31 18:05:00) [2]inttohex(127,2)+"0000"+inttohex(1,2) - 7F...
что значит inet_addr?
Zz_ (2003-03-31 17:56:00) [3]inet_addr
и
IntToHex