Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   

Определение своего IP адреса



function my_ip_address: longint;
const
  bufsize = 255;
var
  buf: pointer;
  RemoteHost: PHostEnt; (* Не освобождайте это! *)
begin
  buf := nil;
  try
    getmem(buf, bufsize);
    winsock.gethostname(buf, bufsize); (* это может работать и без сети *)
    RemoteHost := Winsock.GetHostByName(buf);
    if RemoteHost = nil then
      my_ip_address := winsock.htonl($07000001) (* 127.0.0.1 *)
    else
      my_ip_address := longint(pointer(RemoteHost^.h_addr_list^)^);
  finally
    if buf <> nil then
      freemem(buf, bufsize);
  end;
  result := winsock.ntohl(result);
end;

Вначале возвращается локальный сетевой адрес компьютера, а затем, если он не равен 127.0.0.1, стандартный IP адрес.

Единственное, что вам необходимо, это наличие winsock.dcu/winsock.pas, так как это не включается в поставку Delphi 1.; необходимый мне код я взял из tcpip component pack (просто вырезал его оттуда).

           


КОСМЕТИКА И ПАРФЮМЕРИЯ ОПТОМ . Клинкер, фасадная плитка и клинкерный кирпич. Фасадная плитка и клинкер. . Сварочное оборудование - аттестация специалистов сварочного производства. . оформление прав собственности .


Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011