Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Как взять нужный 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1106643951
ShotGuN
2005-01-25 12:05
2005.02.06
Как делать патчи?


4-1103018387
Phantomouse
2004-12-14 12:59
2005.02.06
COM+Я = Программа виснет ?!?


14-1105789941
Ilya___
2005-01-15 14:52
2005.02.06
ошибка: Invalid variant operation. >


1-1106508346
Алексей
2005-01-23 22:25
2005.02.06
Вызов функции из библиотеки


3-1105003732
cad2206
2005-01-06 12:28
2005.02.06
Копирование записей из одной таблицы в другую???!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский