Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IP address, Как узнать? 
:(
    Опции темы
Basя
Дата 6.4.2003, 14:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Как узнать собственный ip адрес компа?
Спасибо!
  Вверх
<Spawn>
Дата 6.4.2003, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 1
Всего: 64



Цитата(Bas @ 6.4.2003, 06:04)
Как узнать собственный ip адрес компа?
Спасибо!

Код
uses
   idWinSock2;

function  GetLocalIP:  String;
const  WSVer  =  $0202;
var
    wsaData:  TWSAData;
    P:  PHostEnt;
    Buf:  array  [0..127]  of  Char;
begin
    Result  :=  '';
    if  WSAStartup(WSVer,  wsaData)  =  0  then  begin
        if  GetHostName(@Buf,  128)  =  0  then  begin
            P  :=  GetHostByName(@Buf);
            if  P  <>  nil  then  Result  :=  iNet_ntoa(PInAddr(p^.h_addr_list^)^);
        end;
        WSACleanup;
    end;
end;


Это сообщение отредактировал(а) <Spawn> - 6.4.2003, 14:30


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 6.4.2003, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: нет
Всего: 61



Или это:

Код

uses WinSock;

...


function my_ip_address: longint;
const
bufsize = 255;
var
buf:pointer;
RemoteHost:PHostEnt;
begin
buf:=nil;
try
 GetMem(vuf, bufsize);
 WinSock.GetHostName(buf, bufsize);
 RemoteHost:=WinSock.GetHostByName*buf);
 if RemoteHost = nil
  then
   Result:=WinSock.htonl($07000001)
  else
   result:=longint(pointer(remotehost^.h_addr_list^)^);
finally
if buf <> nil
 then
  FreeMem(buf, bufsize);
end;
Result:=WinSock.ntohl(Result);
end;


P. S. Эту штуку никогда не пробовал, так что не знаю что из неё получится на самом деле...
PM   Вверх
Sluggard
Дата 21.4.2003, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.4.2003
Где: Kazan

Репутация: нет
Всего: нет



Обработать стандартную команду GetIp
PM MAIL ICQ   Вверх
Sluggard
Дата 21.4.2003, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 17.4.2003
Где: Kazan

Репутация: нет
Всего: нет



Либо стандартную виндовую Ipconfig

Это сообщение отредактировал(а) Sluggard - 26.4.2003, 22:14
PM MAIL ICQ   Вверх
Addmin
Дата 5.2.2006, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Вот очень коротенький код, чтобы узнать Ip в любое время:

Код

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;


Вот только если ты не подключён к интернету, Ip всегда будет одинаков: 127.0.0.1


--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0589 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.