function GetNameFromIP(const IP: String; var Name:string):boolean;
var
WSA: TWSAData;
Host: PHostEnt;
Addr: Integer;
Err: Integer;
begin
Result:=False;
Name:='';
Err:=WSAStartup($101, WSA);
if Err<>0 then
begin
Exit;
end;
try
Addr:=inet_addr(PChar(IP));
if Addr=INADDR_NONE then
begin
WSACleanup;
Exit;
end;
Host := gethostbyaddr(@Addr, SizeOf(Addr), PF_INET);
if Assigned(Host) then
Name:=Host.h_name
else
exit;//ShowMessage(SysErrorMessage(GetLastError));
finally
WSACleanup;
end;
Result:=True;
end;