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

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

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


Наверх

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