program get_ip; uses winsock,sysutils; VAR ch : ARRAY[1..32] OF Char; i : Integer; WSData: TWSAData; MyHost: PHostEnt; begin IF WSAstartup(2,wsdata)<>0 THEN BEGIN Writeln(''''can''''''''t start Winsock: Error '''',WSAGetLastError); Halt(2); END; try IF getHostName(@ch[1],32)<>0 THEN BEGIN Writeln(''''getHostName failed''''); Halt(3); END; except Writeln(''''getHostName failed''''); halt(3); end; MyHost:=GetHostByName(@ch[1]); IF MyHost=NIL THEN BEGIN Writeln(GetHostName(''''+StrPas(@ch[1])+'''') failed : Error ''''+IntToStr(WSAGetLastError)); Halt(4); END ELSE BEGIN Write(''''address ''''); FOR i:=1 TO 4 DO BEGIN Write(Ord(MyHost.h_addr^[i-1])); IF i<4 THEN write(''''.'''') ELSE writeln; END; END; end.
没有相关教程