Главная » 2009 » Ноябрь » 6 » Преобразуем доменное имя в IP адрес
08:58
Преобразуем доменное имя в IP адрес
Описывается функция, которая показывает, как вычислить IP адрес компьютера в интернете по его доменному имени.

Объявляем Winsock, для использования в функции 

function HostToIP(Name: string; var Ip: string): Boolean;

var

wsdata : TWSAData;

hostName : array [0..255] of char;

hostEnt : PHostEnt;

addr : PChar;

begin

WSAStartup ($0101, wsdata);

try

gethostname (hostName, sizeof (hostName));

StrPCopy(hostName, Name);

hostEnt := gethostbyname (hostName);

if Assigned (hostEnt) then

if Assigned (hostEnt^.h_addr_list) then begin

addr := hostEnt^.h_addr_list^;

if Assigned (addr) then begin

IP := Format ('%d.%d.%d.%d', [byte (addr [0]),

byte (addr [1]), byte (addr [2]), byte (addr [3])]);

Result := true;

end

else

Result := false;

end

else

Result := false

else begin

Result := false;

end;

finally

WSACleanup;

end

end;
Вы можете разметстить на форме EditBox, Кнопку и Label и добавить к кнопке следующий обработчик события OnClick:

view source

print
?

procedure TForm1.Button1Click(Sender: TObject);

var

IP: string;

begin

if HostToIp(Edit1.Text, IP) then Label1.Caption := IP;

end;


Автор: Lutfi Baran

Категория: Программирование | Просмотров: 958 | Добавил: admin | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]