Resolution de nom sur réseau local [Résolu]

Messages postés
93
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
25 octobre 2006
- - Dernière réponse : cs_manu00
Messages postés
93
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
25 octobre 2006
- 20 oct. 2005 à 21:16
Bonjour,



J'ai cherché un code source sur ce forum pour faire ceci mais je n'ai rien trouvé...



En fait, je dispose d'une liste d'ip réseau (locale) 192.168.x.x et je
les scanne... Seulement, j'aimerai faire apparaitre aussi leur nom
Netbios (COMPUTER1, COMPUTER2...etc etc



Avez vous un source (ou alors Ze Technique) qui resolve le nom de l'ordi a partir de son ip ???



Merci



Manu
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
93
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
25 octobre 2006
3
Merci
Bon, je ne peux pas editer mon message precedent alors je corrige juste les fautes de frappes:



function IPAddrToName(IPAddr: string): string;
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
  begin
    Result:=StrPas(Hostent^.h_name)
  end
  else
  begin
    Result:='';
  end;
end;



ps: Ajouter Winsock dans les uses

pps: CA FONCTIONNE TRES TRES BIEN !!!



Merci a moi-même (et aux autres :-))

Merci cs_manu00 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_manu00
Messages postés
900
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
30 juillet 2009
0
Merci
J'ai bien une solution sans composant, mais je sais pas si elle vas beaucoup te plaire:



la commande:

ping -a IP > fichier



et pour executer une commande depuis Delphi:

http://delphi.developpez.com/faq/?page=interexecution#executerapplication


Loda



PS: y a surement des composant qui le font, mais je ne les connait pas.
Commenter la réponse de cs_Loda
Messages postés
93
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
25 octobre 2006
0
Merci
Même en tapant en commande dos avec le -a , cela ne resout pas les noms :-(



Je vais chercher du côté des composants...

Merci



Si qqlun à la soluce ;-)....



Manu
Commenter la réponse de cs_manu00
Messages postés
900
Date d'inscription
vendredi 3 novembre 2000
Dernière intervention
30 juillet 2009
0
Merci
ça devrait. t'as peut-être un firewall ou truc comme ça.



Loda
Commenter la réponse de cs_Loda
Messages postés
446
Date d'inscription
vendredi 7 novembre 2003
Dernière intervention
8 octobre 2008
0
Merci
Bonjour,
Si tu as la possibilité de l'utiliser, essayes avec le WMI,
Par défaut c'est installer sur les postes en XP.
Sinon tu peux l'installer sur les postes en 2000 et NT.
Tu pourras accéder à pas mal d'info du réseau..

Dom
Commenter la réponse de dominique.stock
Messages postés
93
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
25 octobre 2006
0
Merci
J'ai trouvé ca sur un site:





Get host name using IP-address



Use IPAddrToName function. This function get host information by using GetHostByAddr function.
function IPAddrToName(IPAddr: string): string;
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<&amp;gtnil then
  begin
    Rresult:=StrPas(Hostent^.h_name)
  end
  else
  begin
    Result:='';
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption:=IPAddrToName(Edit1.Text);
end;

Je testerai ca demain...
Je vous dirais si ca fonctionne...

Merci
M.
Commenter la réponse de cs_manu00

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.