Recuperer le Hostname a partir de l IP sous Delphi2009 [Résolu]

cs_mimimou 48 Messages postés vendredi 17 janvier 2003Date d'inscription 31 août 2011 Dernière intervention - 23 févr. 2009 à 09:09 - Dernière réponse : cs_mimimou 48 Messages postés vendredi 17 janvier 2003Date d'inscription 31 août 2011 Dernière intervention
- 24 févr. 2009 à 06:35
Bonjour a tous,


Depuis la version 2009 de delphi, la fonction qui permet de recuperer le nom d host a partir d une IP ne fonctionne plus :

function IPAddrToHostName(IPAddr: string): string; stdcall;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := StrPas(Hostent^.h_name)
  else
    Result := '';
end;

erreur : Incompatible types : 'Char' and 'AnsiChar', 'Name' and 'PAnsiChar', etc....

Quelqu un l aurait-il deja adapte pour delphi 2009 ?
Merci
Afficher la suite 

2 réponses

Répondre au sujet
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscription 3 avril 2018 Dernière intervention - 23 févr. 2009 à 13:47
+3
Utile
Salut,

function IPAddrToHostName(IPAddr: string): string; stdcall;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PAnsiChar(AnsiString(IPAddr)));
  HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := string(Hostent^.h_name)
  else
    Result := '';
end;

 
@+
Cirec

<hr siz="" />
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec
cs_mimimou 48 Messages postés vendredi 17 janvier 2003Date d'inscription 31 août 2011 Dernière intervention - 24 févr. 2009 à 06:35
0
Utile
Merci beaucoup, ca marche impec


 
Commenter la réponse de cs_mimimou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.