Delphi-Help

Главная Статьи TCP/IP Преобразуем доменное имя в IP адрес

Преобразуем доменное имя в IP адрес

Оцените материал
(0 голосов)


Преобразуем доменное имя в 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:

procedure TForm1.Button1Click(Sender: TObject);  
var  
IP: string;  
begin  
if HostToIp(Edit1.Text, IP) then Label1.Caption := IP;  
Прочитано 3875 раз
Другие материалы в этой категории: « Как вычислить IP адрес компьютера?

Авторизация



Счетчики