![]() |
![]() ![]() ![]() ![]() |
|
Получение IP-адресаDelphi , Интернет и Сети , TCP/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, а также обстоятельства, при которых могут возникнуть ошибки. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||