Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ip

9.3K
27 сентября 2005 года
Vamid
10 / / 13.09.2005
Как получить IP компа в С++ Билдере?
299
27 сентября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by Vamid
Как получить IP компа в С++ Билдере?

Какого компа?

344
27 сентября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by 3D Bob
Какого компа?



Код:
function LocalIP : string;
type
    TaPInAddr = array [0..10] of PInAddr;
    PaPInAddr = ^TaPInAddr;
var
    phe  : PHostEnt;
    pptr : PaPInAddr;
    Buffer : array [0..63] of char;
    I    : Integer;
    GInitData      : TWSADATA;

begin
    WSAStartup($101, GInitData);
    Result := '';
    GetHostName(Buffer, SizeOf(Buffer));
    phe :=GetHostByName(buffer);
    if phe = nil then Exit;
    pptr := PaPInAddr(Phe^.h_addr_list);
    I := 0;
    while pptr^ <> nil do begin
      result:=StrPas(inet_ntoa(pptr^^));
      Inc(I);
    end;
    WSACleanup;
end;
9.3K
27 сентября 2005 года
Vamid
10 / / 13.09.2005
Цитата:
Originally posted by 3D Bob
Какого компа?


Для начала того, на котором прога запущена

Delfer, пасибо за подсказку, но теперь бы ещё всё в С++ билдер переформатить, а то я в Pascal полный профан, да и прога почти до конца написана в С++ Билдере, пару событий осталось обработать.

344
27 сентября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by Vamid
Delfer, пасибо за подсказку, но теперь бы ещё всё в С++ билдер переформатить, а то я в Pascal полный профан, да и прога почти до конца написана в С++ Билдере, пару событий осталось обработать.



Это пусть кто-то другой поможет тк я с С++ не шарю

292
28 сентября 2005 года
Matush
726 / / 14.01.2004
Код:
include <winsock.h>
#include <stdio.h>

void main()
{
    WSADATA wsaData;
    WORD wVersionRequested = MAKEWORD(1, 0);
    int err = WSAStartup(wVersionRequested, &wsaData);
    if(!err)
    {
        char hn[1024];
        struct hostent *adr;

        if(gethostname((char*)&hn, 1024))
            int err = WSAGetLastError();
       
        adr = gethostbyname(hn);
        if(adr)
        {
            char *LocalIp = new char[15];
            sprintf(LocalIp,"%d.%d.%d.%d",
                (unsigned char)adr->h_addr_list[0][0],
                (unsigned char)adr->h_addr_list[0][1],
                (unsigned char)adr->h_addr_list[0][2],
                (unsigned char)adr->h_addr_list[0][3]);
            printf("%s\n", LocalIp);
        }
    }
}


дает айпишник локального компа
292
28 сентября 2005 года
Matush
726 / / 14.01.2004
думаю понятно, что если ипоставить в переменную hn "codenet.ru", то получим айпи любимого сайта :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог