Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2009, 05:20   #1
Bayazet
Форумчанин
 
Регистрация: 08.12.2008
Сообщений: 156
По умолчанию Определение IP адресса

можно ли через дельфи определить ip адресс компьютера?
Bayazet вне форума Ответить с цитированием
Старый 08.01.2009, 06:13   #2
KORN
Банхаммер
Участник клуба
 
Аватар для KORN
 
Регистрация: 17.02.2007
Сообщений: 1,754
По умолчанию

да сколько ж можно повторять7 сначала ищем сами потом спрашиваем, что тут может быть не понятного... это все неоднократно обсуждалось на форуме и в интернете
Код:
uses
  WinSock;

function GetLocalIP: String;
const WSVer = $101;
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;
Перед тем как спросить ищи на форуме и в GOOGLE
KORN вне форума Ответить с цитированием
Старый 08.01.2009, 13:38   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

можно и воспользоваться Indy
Вкладка Indy Misc
компонент IdIPWatch
свойство LocalIP
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 08.01.2009, 15:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Точно так. Квэнди указал наиболее разумный вариант.
showmessage(form1.IdIPWatch1.Curren tIP); //инетовский IP
showmessage(form1.IdIPWatch1.LocalI P); //лановский IP
mihali4 вне форума Ответить с цитированием
Старый 08.01.2009, 23:29   #5
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Точно так. Квэнди указал наиболее разумный вариант.
showmessage(form1.IdIPWatch1.Curren tIP); //инетовский IP
showmessage(form1.IdIPWatch1.LocalI P); //лановский IP
Не у всех будет правильно работать. У меня интернет через ADSL2+ модем и form1.IdIPWatch1.CurrentIP возвращает пустую строку.
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Старый 09.01.2009, 00:28   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от DOLBY Посмотреть сообщение
Не у всех будет правильно работать. У меня интернет через ADSL2+ модем и form1.IdIPWatch1.CurrentIP возвращает пустую строку.
Если я не ошибаюсь, внешний айпишник присваивается модему, а все после него - локальные... Вернее, даже не модему, а физической линии. И все сидящие на ней будут иметь один айпишник. У меня часто бывает - "С вашего ай-пи уже идет скачивание"...
И узнать внешний айпишник для такого подключения (я так же подключен) можно только у модема (морока) или через WhoIs и т.п.
Например, чистенький айпи можно получить с http://ddns.cis.by/nic/.
Там только несколько тэгов, а основную строку можно запросто выделить.

Последний раз редактировалось mihali4; 09.01.2009 в 00:39.
mihali4 вне форума Ответить с цитированием
Старый 09.01.2009, 01:26   #7
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
showmessage(form1.IdIPWatch1.Curren tIP); //инетовский IP
showmessage(form1.IdIPWatch1.LocalI P); //лановский IP
не совсем так:
LocalIp определяет основной IP интерфейса по умолчанию.
CurrentIp -переменная, в которой хранится IP адрес до его смены, т.е.:
если в процессе работы программы у вас неа интерфейсе поменялся IP адрес, то LocalIp вернет новый, а currentIp вернет тот, который был до замены. Впроем с алгоритмом работы этого компонента разобраться совсем не сложно, исходный модуль там достаточно лаконичен, хоть и в нескольких местах в стиле Indy абсурден.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 27.12.2012, 03:47   #8
Aragami
Новичок
Джуниор
 
Регистрация: 15.11.2012
Сообщений: 1
По умолчанию

Народ, кто нибудь знает как определить IP адрес VPN PPP адаптера?
IdIPWatch1.LocalIP не определяет
Очень нужно..

Последний раз редактировалось Aragami; 27.12.2012 в 04:09.
Aragami вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение имя компьютера и айпи адресса 0x007f Помощь студентам 5 20.08.2009 21:29
Определение адресса отправителя Максим2006 Безопасность, Шифрование 7 20.11.2008 00:48
определение ip-адресса Ермоленко Виктор Помощь студентам 0 02.06.2008 13:44
Определение IP IvanLex HTML и CSS 6 28.03.2008 07:46
Определение IP IvanLex Общие вопросы по Java, Java SE, Kotlin 1 19.02.2008 09:12