Получение IP-адресаDelphi , Интернет и Сети , TCP/IPПолучение IP-адреса
Оформил: DeeCo Автор: CyANiD От
автора: IP можно получить, заUSE'ав компонент TClientSocket или
TServerSocket, но это значительно утяжелит ваш Exe'шник. Я предлагаю
другой, более рациональный способ
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 и конфигурации. Может у вас вообще баги с Windows
Sockets.
В статье рассматривается способ получения IP-адреса компьютера в приложении на языке Delphi, не требующем использования компонентов TClientSocket или TServerSocket, а также обстоятельства, при которых могут возникнуть ошибки. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |