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