⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unitdns.pas

📁 Delphi 网络通信协议代码,是多种网络协议的实现代码
💻 PAS
字号:
unit UnitDNS;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, TB97,Winsock;

type
  TFormMain = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    EditPresentation: TEdit97;
    EditResult: TEdit97;
    BtnGetHostByName: TToolbarButton97;
    Label3: TLabel;
    edtHost: TEdit97;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure BtnGetHostByNameClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

{$R *.DFM}

procedure TFormMain.FormCreate(Sender: TObject);
Var
   WSAData:TWSAData;
begin
     //initiates use of WS2_32.DLL
     if (WSAStartup(MAKEWORD(2,0),WSAData)<>0) then
        raise Exception.Create('Winsock Version Error');
end;

procedure TFormMain.FormDestroy(Sender: TObject);
begin
     WSACleanUP;
end;
procedure TFormMain.BtnGetHostByNameClick(Sender: TObject);
var
   Host: pHostent;
   ConsultResult:String;
   Err:Integer;
begin
     Try
        Host := GetHostByName(PChar(EditPresentation.Text));
     Except
        Err:=WSAGetLastError();
        EditResult.Text:='Error Code:'+InttoStr(Err);
        Exit;
     end;
     if Host=NIL then
     begin
        EditResult.Text:='Host does not exist';
        exit;
     end;
     ConsultResult:=Copy(Host.h_addr^,0,4);
     EditResult.Text:=Format('%d.%d.%d.%d',
                              [ord(ConsultResult[1]),
                               ord(ConsultResult[2]),
                               ord(ConsultResult[3]),
                               ord(ConsultResult[4])]);
     edtHost.Text:=Host.h_name;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -