Главная страница
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.042 c
1-1106406831
Polkan
2005-01-22 18:13
2005.02.06
проблема с try ... except


1-1106656658
Leon1
2005-01-25 15:37
2005.02.06
Паненель с иконками окошек?


3-1105100023
Lucifer
2005-01-07 15:13
2005.02.06
Создание програмно псевданима DB MSAccess


1-1106434307
Pine
2005-01-23 01:51
2005.02.06
Создание файла эксель и запись в него при помощи OLE


9-1099511911
Jack
2004-11-03 22:58
2005.02.06
GLScene, Как определить пересечение 2-х объектов ?