program getaddr; // by crystalbit, http://parsers.info uses winsock; {$apptype console} type paddrinfo = ^addrinfo; addrinfo = packed record ai_flags, ai_family, ai_sockettype, ai_protocol: integer; ai_addrlen: integer; ai_canonname: pchar; ai_addr: psockaddr; ai_next: paddrinfo; end; var aiHints: addrinfo; aiRes: paddrinfo; WSAData1: TWSAData; function getaddrinfo(nodename, servname: PChar; hints: paddrinfo; var res: paddrinfo): integer; stdcall; external 'ws2_32.dll'; begin if WSAStartup($101, WSAData1)<>0 then begin writeln('WinSock error ', WSAGetLastError); readln; Exit; end; FillChar(aiHints, sizeOf(aiHints), 0); aiHints.ai_family:=AF_INET; aiHints.ai_sockettype:=SOCK_STREAM; aiHints.ai_protocol:=IPPROTO_TCP; if getaddrinfo('parsers.info', nil, @aiHints, aiRes)=0 then writeln(ord(aiRes.ai_addr.sin_addr.S_un_b.s_b1),'.', ord(aiRes.ai_addr.sin_addr.S_un_b.s_b2),'.', ord(aiRes.ai_addr.sin_addr.S_un_b.s_b3),'.', ord(aiRes.ai_addr.sin_addr.S_un_b.s_b4)) else writeln('socket error ', WSAGetLastError); readln; end.