PING VB SOUS VB (MAJ)

- - Dernière réponse : cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007
- 16 avril 2007 à 00:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/671-ping-vb-sous-vb-maj

Votre Site est SUPER...
Je teste le PING VB et je vous dis comment ca marche
C'est Vrai que c'est super, mais je débute en VB et j'aimerais bien que quelqu'u m'aide à le rattacher à un pgorramme
C'est quoi un ping ???
Merci
Je voudrais savoir comment cela fonctionne,ou on met l @ de la machine que l'on veut pinger?? merci
esce que tu pourraias me dire les controle a ajouter dans form merci
les champs à rajouter dans la Form sont les suivants :
deux textbox :
txIPAddress (saisie de l'adresse IP sous forme xxx.xxx.xxx.xxx)
txtTTL (saisie du Time To Live - mettre 128 au début)
un listbox lbReturn
deux boutons :
btnExit
bntPing

et voilà...
Il y a une erreure :

pOptions.Ttl = Val(txTTL)

Il faut remplacer par

pOptions.Ttl = Val(txtTTL)
Deux questions :

Comment mettre une Url au lieu d'une IP et si c'est pas possible, comment passer une IP avec un account
ex http://toto:titi@15.128.100.12
Que de galère pour un simple ping, un controle winsock, y en a pour 3 lignes de codes, en comptant le commentaire
Pourquoi il me retourne TOUJOURS
ping error 0 ?
quelque soit l'ip (valide bien sur) que je rentre ?
lpikachu58
Messages postés
351
Date d'inscription
samedi 2 février 2002
Statut
Membre
Dernière intervention
6 mai 2004
2 -
Eh les jeunes ce serait pas mal d'utiliser un shell
Tu fabrique un .bat à partir du bloc note dans ton bat tu fais un un ping 192.52.240.229(l'ip tu la passe en variable) et dans vb du fais un shell(tonfichier.bat) ce qui te ramène true ou false
pokbizou
Messages postés
13
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
13 novembre 2003
-
peut on changer la taille du ping qui est de 32 octets par défaut?
Si oui , comment faire?
Merci
Pokbizou
TheSaib
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
14 -
'La liste des erreurs pouvant etre retourné !

11001 Buffer Too Small
11002 Destination Net Unreachable
11003 Destination Host Unreachable
11004 Destination Protocol Unreachable
11005 Destination Port Unreachable
11006 No Resources
11007 Bad Option
11008 Hardware Error
11009 Packet Too Big
11010 Request Timed Out
11011 Bad Request
11012 Bad Route
11013 TimeToLive Expired Transit
11014 TimeToLive Expired Reassembly
11015 Parameter Problem
11016 Source Quench
11017 Option Too Big
11018 Bad Destination
11032 Negotiating IPSEC
11050 General Failure
presseb
Messages postés
2
Date d'inscription
mercredi 10 janvier 2001
Statut
Membre
Dernière intervention
1 décembre 2002
-
et puis je vous ai mis un ZIP j'ai retrouvé mon mot de passe lol (un an après)
presseb
Messages postés
2
Date d'inscription
mercredi 10 janvier 2001
Statut
Membre
Dernière intervention
1 décembre 2002
-
au fait presseb=TheSaib
cs_Multiprise
Messages postés
63
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2013
-
Code Interessant, dommage que la fonction ne retourne pas le nom de l'hote, il est parfois utile de pinguer sur le nom.
Concernant la conversion d'adresse en entier long, il est possible de faire plus simple et plus rapide la fonction Split étant très performante:
'
Function ConvertIPAddressToLong(strAddress As String) As Long
Dim Tableau() As String
'
Tableau = Split(strAddress, ".") 'La fonction Split Renvoie un tableau de base zéro à une dimension contenant le nombre de sous-chaines déterminées par le caractère de séparation (ici le point)
strAddress = "&H" & Format(Hex(Tableau(3)), "00") & _
Format(Hex(Tableau(2)), "00") & _
Format(Hex(Tableau(1)), "00") & _
Format(Hex(Tableau(0)), "00")
ConvertIPAddressToLong = Val(strAddress)
End Function

Idem pour le test de validité de l'adresse IP
Private Function IpValid(IpAdress As String) As Boolean
Dim Tableau() As String
Dim Compteur As Integer
'
On Error Resume Next
Tableau() = Split(Trim(IpAdress), ".")
If UBound(Tableau) = 3 Then
IpValid = True
For Compteur = 0 To 3
If Compteur < 3 And Val(Tableau(Compteur)) <= 255 And Val(Tableau(Compteur)) > -1 Then
IpValid = True
ElseIf Compteur = 3 And Val(Tableau(Compteur)) < 255 And Val(Tableau(Compteur)) > -1 Then
IpValid = True
Else
IpValid = False
Exit For
End If
Next Compteur
Else
IpValid = False
Exit Function
End If
End Function
cs_felipe99
Messages postés
6
Date d'inscription
vendredi 29 avril 2005
Statut
Membre
Dernière intervention
19 avril 2007
-
Merci pour ce code ca m'a permis de gagner du temps.
C'est nikel. Juste une petite chose de rien du tout, il y a le code pour quitter mais pas le boutton enfin c'est pas grand chose.