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 |