Comment récuperer l'adresse de la passerelle par défaut en delphi6

miarynante Messages postés 8 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 17 juillet 2007 - 24 avril 2006 à 10:19
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 - 26 avril 2006 à 09:19
Bonjour,
je suis un peu débutant sur le programmation avec le langage Delphi, en faite le but de mon petit programme est de réccuperer l'adresse du passerelle par défaut du PC où l'application tourne?
Meric

9 réponses

cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
24 avril 2006 à 10:31
bonjour

Tu veux récupérer quoi ?
l'adresse ip lan du pc sur lequel tourne le programme
l'adresse ip wan (Fai)
l'adresse ip lan du routeur (peut etre pc) qui sert de passerelle

----------------------------------
Tout est en tout et réciproquement ...
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
24 avril 2006 à 10:56
Salut,

Pour ma part je pense que ça doit être l'adresse ip lan du routeur (peut etre pc) qui sert de passerelle mais après ça ne dépend que de "ma compréhension"...

@+
Matt

La paresse est la mère du génie...
0
Utilisateur anonyme
24 avril 2006 à 19:09
Salut,

Je ne sais pas ce que tu veux ? Si tu veux l'adresse IP locale sous delphi6. Voila comment on l'affiche dans un Edit :

Procedure TForm1.Button1Click(Sender : Tobject);
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);
ip_machine := '';
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
Edit1.text := StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
0
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
24 avril 2006 à 19:44
marche pô
définir ip machine en string et ajouter winsock en uses

[modif
var
phe : PHostEnt;
pptr : PaPInAddr;
Buffer : array [0..63] of char;
I: Integer;
GInitData : TWSADATA;
ip_machine : string;
begin
]

Cordialement jfs.

Tout est en tout et réciproquement ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
24 avril 2006 à 23:15
Re

jfs : tu as totalement raison pour "Winsock". C'est un oublie impardonnable (Allez pendez moi haut et court : lol).

Procedure TForm1.Button1Click(Sender : Tobject);
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);
GetHostName(Buffer, SizeOf(Buffer));
phe :=GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^[I] <> nil do begin
Edit1.text := StrPas(inet_ntoa(pptr^[I]^));
{
Désolé j'ai repris cette source dans un de mes projets. J'avais fais
ip_machine := ''; en déclarant biensur ip_machine dans les variables
puis ip_machine :=StrPas(inet_ntoa(pptr^[I]^));
En recopiant j'ai oublié de faire le ménage
l'erreur était "ip_machine non déclaré (dans les variables)
}
Inc(I);
end;
WSACleanup;
end;

Désolé pour cet oublie plus la petite érreur. Dorénavent je posterais moins vite. Merci jfs de les avoir vu

A+
0
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
24 avril 2006 à 23:32
Ben c'est pas trop grave .. mais la ton ipmachine je voyai pas trop a quoi ca sert et en fait il sert a rien .. mais bon ca c'est facile suffit de virer ou de définir ...pour le uses par contre c'est moins facile si tu le sait pas ! et c'est vrai que les copies de bout de code d'un projet sans faire gaffe aux uses ca marche rarement...

Cordialement jfs.

Tout est en tout et réciproquement ...
0
miarynante Messages postés 8 Date d'inscription mercredi 18 janvier 2006 Statut Membre Dernière intervention 17 juillet 2007
25 avril 2006 à 09:18
Bonjour,
j'ai pu récuperer par votre aide l'adresse IP du machine locale, ainsi que le nom du poste et l'adresse du passerelle routeur (internet)

Merci pour votre collaboration
0
Utilisateur anonyme
25 avril 2006 à 23:05
Salut

Merci de Valider le Post STP : ca pourra en aider un autre

A+
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
26 avril 2006 à 09:19
Ce qui est bien c'est que ça me sert aussi... J'ai bien fait de passer par là sinon je n'aurait jamais su trouver l'IP...

@+
Matt

La paresse est la mère du génie...
0
Rejoignez-nous