English Home PageGerman Home PageUkrainian Home Page
 
Получение IP-адреса.
Автор: CyANiD
Дата: 10.05.02
Изменен: 09.09.04.
От автора: IP можно получить, используя либо компонент TClientSocket, либо TServerSocket, но это значительно утяжелит исполняемый файл. Я предлагаю другой, более рациональный способ:
Host: TLabel;
IPaddr: TLabel;
...
uses WinSock;
...
procedure TForm1.FormCreate(Sender: TObject);
var
  wVerReq: WORD;
  wsaData: TWSAData;
  i: PChar;
  h: PHostEnt;
  c: array[0..128] of char;
begin
  wVerReq:=MAKEWORD(1, 1);
  WSAStartup(wVerReq, wsaData);
  {Получаем хост (имя) компа}
  GetHostName(@c, 128);
  h:=GetHostByName(@c);
  Host.Caption:=h^.h_Name; //Host отображает хост(имя) компьютера
  {Достаем IP}
  i:=iNet_ntoa(PInAddr(h^.h_addr_list^)^);
  IPaddr.Caption:=i; //Теперь IPaddr отображает IP-адрес
  WSACleanup;
end;
Если какие ошибки лезут, присылайте Ваш проект (без Exe) нам с описанием Вашей системы, Delphi и конфигурации.
Сайт создан в системе uCoz