 
			
				27.04.2015, 17:17
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 LMD-DML 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 12.07.2009 
					Адрес: Богородское 
					
					Сообщения: 3,025
 
				Версия Delphi: D7E 
					Репутация: 1834 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				
			 
			 
			
		
		
		
		Это работает под D7 
	Код: 
	uses Winsock; 
function GetIP(Host : String) : string; 
type 
    TaPInAddr = array [0..10] of PInAddr; 
    PaPInAddr = ^TaPInAddr; 
var 
    phe  : PHostEnt; 
    pptr : PaPInAddr; 
    Buffer : array [0..63] of char; 
    I    : Integer; 
    GInitData      : TWSADATA; 
begin 
    WSAStartup($101, GInitData); 
    Result := 'Не найден!'; 
    ZeroMemory(@Buffer, SizeOf(Buffer)); 
    StrpCopy(Buffer, Host); 
    phe :=GetHostByName(buffer); 
    if phe = nil then begin 
      WSACleanup; 
      Exit; 
    end; 
    try 
      pptr := PaPInAddr(Phe^.h_addr_list); 
      I := 0; 
      while pptr^[i] <> nil do begin 
        result:=StrPas(inet_ntoa(pptr^[i]^)); 
        Inc(I); 
      end; 
    finally 
      WSACleanup; 
    end; 
end; 
 
function GetHost(IP : String) : string; 
var 
    phe  : PHostEnt; 
    Buffer : array [0..63] of char; 
    GInitData      : TWSADATA; 
    ia : LongInt; 
begin 
    WSAStartup($101, GInitData); 
    Result := 'Не найден!'; 
    ZeroMemory(@Buffer, SizeOf(Buffer)); 
    StrpCopy(Buffer, IP); 
    ia := inet_addr(Buffer); 
    phe := GetHostByAddr(@ia, SizeOf(Buffer), PF_INET);//GetHostByName(buffer); 
    if phe = nil then Exit; 
    Result := StrPas(Phe^.h_name); 
    WSACleanup; 
end; 
  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |