Получаем свой собственный IP адрес

Приветсвую вас, дорогие читатели!
Сегодня мы попробуем получить IP адрес своего компьютера средствами Delphi.
Итак, приступим.


Добавим файл для работы с сокетами:

uses  Winsock;


Теперь приступим к написанию самой главной функции:

function getIPs: Tstrings; 
type 
  TaPInAddr = array[0..10] of PInAddr; 
  PaPInAddr = ^TaPInAddr; 
var 
  phe: PHostEnt; 
  pptr: PaPInAddr; 
  Buffer: array[0..63] of Char; 
  I: Integer; 
  GInitData: TWSAData; 
begin 
  WSAStartup($101, GInitData); 
  Result := TstringList.Create; 
  Result.Clear; 
  GetHostName(Buffer, SizeOf(Buffer)); 
  phe := GetHostByName(buffer); 
  if phe = nil then Exit; 
  pPtr := PaPInAddr(phe^.h_addr_list); 
  I    := 0; 
  while pPtr^[I] <> nil do 
  begin 
    Result.Add(inet_ntoa(pptr^[I]^)); 
    Inc(I); 
  end; 
  WSACleanup; 
end;


Использовать эту функцию можно так:

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  ShowMessage(GetIps.text); 
end;



Надеюсь, что этот урок вам пригодиться:)
И наконец,
Удачи!  SourceExpert.blogspot.com





Комментарии

Популярные сообщения из этого блога

Delphi: Создаем простейшую 2D игру