📄 main.~pas
字号:
unit main;
interface
uses
SysUtils, Forms, Winsock, Classes, Controls, StdCtrls, Buttons,
Mask, Dialogs;
type
TForm1 = class(TForm)
edIP: TMaskEdit;
btnIP: TBitBtn;
btnClose: TBitBtn;
Label1: TLabel;
laHostName: TLabel;
procedure btnIPClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure edIPKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
function IPAddrToName(IPAddr: string): string;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
function TForm1.IPAddrToName(IPAddr: string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:=inet_addr(PChar(IPAddr));
HostEnt:= GetHostByAddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil then
begin
Result:=StrPas(Hostent^.h_name)
end
else
begin
Result:='';
end;
end;
procedure TForm1.btnIPClick(Sender: TObject);
begin
TRY
laHostName.Caption := '';
laHostName.caption := IPAddrToName(trim(edIP.text));
EXCEPT
MessageDlg('Fail!',mtError,[mbOk],0);
RAISE;
END;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
laHostName.Caption := '';
end;
procedure TForm1.btnCloseClick(Sender: TObject);
begin
close;
end;
procedure TForm1.edIPKeyPress(Sender: TObject; var Key: Char);
begin
if (key=vk_return) then
btnIPClick(self);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -