trexxet
GetHostByName() - возвращает целый набор данных о компьютере. Из него нас интересует только одно поле:
h_addr_list - список IP-адресов присвоеных компьютеру. Это специфический для винды тип списка массивов байт - двойной указатель, где отдельные значения отделены друг от друга символом NULL (NIL), а заканчивается список двойным NULL, поэтому и разыменовывается он так интересно:
PInAddr(P.h_addr_list^)^
т.е. сначала берётся значение из указателя на список и приводится к типу PInAddr, а потом ещё раз берётся значение из указателя на PInAddr.
Как получить IP компьютера?
Модератор: Модераторы
- Brainenjii
- энтузиаст
- Сообщения: 1351
- Зарегистрирован: 10.05.2007 00:04:46
Код: Выделить всё
Function getMyIP: String;
Begin
Result := '127.0.0.1';
End;
