Преобразуем доменное имя в 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 ;
Вы можете разместить на форме Edit, Кнопку и Label и добавить к кнопке следующий обработчик события OnClick:
procedure TForm1.Button1Click(Sender: TObject);
var
IP: string ;
begin
if HostToIp(Edit1.Text, IP) then
Label1.Caption := IP;
end ;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Преобразуем доменное имя в IP-адрес", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:
Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи , в сообщение обязательно указывайте название или ссылку на статью!