function GetIPFromHost(const Name: string): string;
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
Result := Format('%d.%d.%d.%d', [byte(addr[0]),
byte(addr[1]), byte(addr[2]), byte(addr[3])]);
end
else
Result := '';
end
else
Result := ''
else
begin
Result := '';
end;
finally
WSACleanup;
end
end;