Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

По узнаванию IPAddress ов [D5, Win95/98, WinME, Win2k]


Dr.Karter ©   (2003-02-19 10:58:00) 

Здравствуйте уважаемые Мастера!
Вот из FAQ примерчик он у меня не работает!!!
Из-за чего?
И есть ли еще какой-нибудь способ узнавания IPAddress"ов?
Как можно получить, в Edit1.Text, DNS сети?

Из FAQ
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\ (для 98-винды)
Ищем параметр IPAddress
Программно можно определить следующим образом:

var WSAData : TWSAData;
p : PHostEnt;
Name : array [0..$FF] of Char;
begin
WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
showmessage(inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;
end;


_Narayan_   (2003-02-22 00:03:00) [1]

const NO_ERROR=0;
ERROR_HOST_NOT_FOUND=1;
ERROR_CAN_NOT_LOAD_WINSOCKETS=2;
ERROR_EMPTY_IPADDR_PARAMETR=4;
ERROR_EMPTY_NAME_PARAMETR=8;

function mStrNameToIpAddr(const Name: String; var IpAddr: String): Integer;
var wsadt : wsadata;
Host : PHostEnt;
begin
If (Trim(Name)="") then
begin
Result:=ERROR_EMPTY_NAME_PARAMETR;
Exit;
end;
If (WSAStartup($0101,wsadt)=0) Then
begin
Host := GetHostbyName(PChar(Name));
if (host = nil) then Result:=ERROR_HOST_NOT_FOUND Else
Begin
IpAddr:=String(inet_ntoa(PInAddr(Host.h_addr_list^)^));
Result:=NO_ERROR;
end
end
Else Result:=ERROR_CAN_NOT_LOAD_WINSOCKETS;
WSACleanup();
end;


dr.Karter   (2003-02-21 11:28:00) [2]

Так в чем проблема с этим примерчиком?


Наверх

Титульная страница Поиск, карта сайта Написать письмо