Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 215

•  TDictionary Custom Sort  6 266

•  Fast Watermark Sources  6 064

•  3D Designer  8 969

•  Sik Screen Capture  6 384

•  Patch Maker  6 810

•  Айболит (remote control)  6 792

•  ListBox Drag & Drop  5 667

•  Доска для игры Реверси  96 342

•  Графические эффекты  7 008

•  Рисование по маске  6 295

•  Перетаскивание изображений  5 181

•  Canvas Drawing  5 548

•  Рисование Луны  5 253

•  Поворот изображения  4 800

•  Рисование стержней  3 396

•  Paint on Shape  2 654

•  Генератор кроссвордов  3 539

•  Головоломка Paletto  2 827

•  Теорема Монжа об окружностях  3 639

•  Пазл Numbrix  2 380

•  Заборы и коммивояжеры  3 062

•  Игра HIP  2 018

•  Игра Go (Го)  1 942

•  Симулятор лифта  2 303

•  Программа укладки плитки  2 007

•  Генератор лабиринта  2 461

•  Проверка числового ввода  2 145

•  HEX View  2 479

•  Физический маятник  2 094

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

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



Развод по-инетовски: В игнор и девичий 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;





Похожие по теме исходники

Address Book (адресная книга)

Адресная Книга




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте