Как получить IP компьютера?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Как получить IP компьютера?

Сообщение Vadim » 18.06.2013 03:13:37

trexxet
GetHostByName() - возвращает целый набор данных о компьютере. Из него нас интересует только одно поле:
h_addr_list - список IP-адресов присвоеных компьютеру. Это специфический для винды тип списка массивов байт - двойной указатель, где отдельные значения отделены друг от друга символом NULL (NIL), а заканчивается список двойным NULL, поэтому и разыменовывается он так интересно:
PInAddr(P.h_addr_list^)^
т.е. сначала берётся значение из указателя на список и приводится к типу PInAddr, а потом ещё раз берётся значение из указателя на PInAddr.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Как получить IP компьютера?

Сообщение Brainenjii » 18.06.2013 08:01:58

Код: Выделить всё
Function getMyIP: String;
Begin
  Result := '127.0.0.1';
End;
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 254

Рейтинг@Mail.ru