Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Как взять нужный IP?   Найти похожие ветки 

 
Knight ©   (2004-11-27 11:24) [0]

Стоит две сетевые (одна LAN, вторая спутник) если делать по
http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988620992&n=20
берётся не тот... какой функцией можно найти все карты, для вывода диалога выбора нужной?


 
Knight ©   (2004-11-27 11:42) [1]

Кажись нашёл... WNetOpenEnum и WNetEnumResource... пошёл пробовать...


 
Knight ©   (2004-11-27 11:57) [2]

Тоже чё-то не то...


 
Knight ©   (2004-11-27 14:48) [3]

Ничего не находиться... %(


 
Anatoly Podgoretsky ©   (2004-11-27 14:51) [4]

В том же FAQ найдешь примеры не такие глупые, а которые берут все адреса, а не первый попавшийся.


 
Knight ©   (2004-11-27 15:04) [5]

Касательно ипов только два... практически идентичных...

http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988620992&n=20
http://delphimaster.ru/cgi-bin/faq.pl?look=1&id=988622334&n=20


 
Anatoly Podgoretsky ©   (2004-11-27 15:48) [6]

Да ты прав, я тоже проверил поиском в данном FAQ нет нормального примера, но это не проблема, ты сам сможешь его поправить.
p.h_addr_list^ это список ИП адресов, ты должен просто пройтись по нему в цикле, пока не встретишь пустую строку.


 
Anatoly Podgoretsky ©   (2004-11-27 16:11) [7]

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);
//    Phe^.h_addr_list - должен содержать IPдля всех интерфейсов.
  I := 0;
  while pptr^[I] <> nil do begin
// приводим их по очерёдности к нормальному виду
    Result := Result + StrPas(inet_ntoa(pptr^[I]^)) + "#10#13" ;
    Inc(I);
  end;
  WSACleanup;
End;


 
Knight ©   (2004-11-27 22:37) [8]


> [7] Anatoly Podgoretsky ©   (27.11.04 16:11)

Вот и смотрю, вроде list, а PChar без размера данных... Спасибо. Всё ок... :)



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
14-1106125616
vecna
2005-01-19 12:06
2005.02.06
Позор на мою седую голову...


6-1100771473
MegaVolt
2004-11-18 12:51
2005.02.06
Какой порт отвечает за работу с расшаренными ресурсами.


3-1104317212
Russko
2004-12-29 13:46
2005.02.06
Связка 2-х баз данных в одном запросе


14-1105402880
Tankist
2005-01-11 03:21
2005.02.06
Проблема с локалкой! Помогите!


1-1106408303
kyn66
2005-01-22 18:38
2005.02.06
Как установить EasyTable 6.03 D6