Delphi: Получение IP-адреса.

От автора: 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 и конфигурации.

 


Страница сайта http://silicontaiga.ru
Оригинал находится по адресу http://silicontaiga.ru/home.asp?artId=5684