【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了frm_GetHost.pas相关资料,希望对各位网友有所帮助!
unit frm_GetHost;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,WinSock, XPMan;
type
TFrmGetHost = class(TForm)
Button1: TButton;
GroupBox1: TGroupBox;
EdIP: TEdit;
GroupBox2: TGroupBox;
EdHost: TEdit;
BtnClose: TButton;
procedure Button1Click(Sender: TObject);
procedure BtnCloseClick(Sender: TObject);
private
function GetIPFromName(const ipaddr: string): string;
{ Private declarations }
public
{ Public declarations }
end;
var
FrmGetHost: TFrmGetHost;
implementation
{$R *.dfm}
function TFrmGetHost.GetIPFromName(const ipaddr: string): string;
var
WSAData: TWSAData;
h: PHostEnt;
addr: TSockAddr;
begin
Result := '';
WSAStartup(2, WSAData);
addr.sin_addr.s_addr := inet_addr(pchar(ipaddr));
if addr.sin_addr.s_addr <> INADDR_NONE then
begin
h := gethostbyaddr(@addr.sin_addr.s_addr, sizeof(addr), AF_I
NET);
if h <> nil then
Result := h^.h_name;
end;
WSACleanup;
end;
procedure TFrmGetHost.Button1Click(Sender: TObject);
begin
if Trim(EdIp.Text) <> '' then
edHost.Text:=GetIPFromName(edIp.Text);
end;
procedure TFrmGetHost.BtnCloseClick(Sender: TObject);
begin
Close;
end;
end.