RÉCUPERATION IP DYNAMIQUE PAR LIVEBOX

hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 - 14 déc. 2006 à 09:34
media6 Messages postés 51 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 7 juillet 2010 - 16 déc. 2006 à 01:39
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/40708-recuperation-ip-dynamique-par-livebox

media6 Messages postés 51 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 7 juillet 2010
16 déc. 2006 à 01:39
Salut,

Je ne comprends pas du tout l'utilisation des timers...
Perso, je les aurai supprimés et fait comme ça :

Private Sub Form_Load()

Dim Ligne, Ligne2, Max As Double
Dim Connecte As String
Dim Fin As Boolean

Fin = False

Web1.Navigate ("192.168.1.1") 'Affiche la page de la live box dans le Web1

Do Until Web1.Busy = False
DoEvents
Loop

Contenu.Text = Web1.Document.All.Item.innerHTML 'Récupere les information de la page dans le textbox Contenu

Connecte = "Connecté" 'Mot que l'on va rechercher

Max = Len(Contenu.Text) ' Compte combien il y a de caracteres dans le textbox Contenu
Ligne = 1

Do 'Boucle de recherche du mot connecte dans le text box contenu

If Mid(Contenu.Text, Ligne, Len(Connecte)) = Connecte Then

Ligne = Ligne + Len(Connecte) ' Dit ou se trouve le début de l'adresse IP
Ligne2 = Ligne ' idem

Fin = True 'Dit a la boucle N°1 que c'est plus la peine de chercher

Do ' boucle de recherche de la fin de l'adresse ip
Ligne2 = Ligne2 + 1
Loop Until Mid(Contenu.Text, Ligne2, 1) = "<" ' cherche la fin de l'adresse IP

Adresse.Text = Mid(Contenu.Text, Ligne, Ligne2 - Ligne)

End If

Ligne = Ligne + 1 ' Ajoute 1 a Ligne

Loop Until Fin = True Or Ligne > Max - Len(Connecte)

End Sub
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
14 déc. 2006 à 10:04
Salut,

Quand on a 3 Timers dans un programme, c'est généralement parce qu'il y a 2 Timers en trop.
Tu actualises toutes les 5 secondes => Ca, c'est OK.
Ensuite, 5 secondes plus tard, tu affiches le contenu de la page => Pas besoin de Timer. Si tu tiens à garder le délai, une simple pause suffit.
Ensuite, 5 secondes plus tard, tu affiches l'IP => Encore une fois, une simple pause suffit.

Les Timers servent à répéter périodiquement des opérations, quand on très pas très regardant sur la précision de l'intervalle. OK ici pour le premier, mais les deux autres sont mal utilisés, il n'y a pas de notion de période.

Regardes plutôt du côté de l'API Sleep().

Précises bien qu'il s'agit de code VB5.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
14 déc. 2006 à 09:34
Une requete GET sur whatismyip.org (ou un script php à toi fesant un simple echo de ton host), tu sais donc si tu es connecté, et ça marche pour touts les providers et surtout n'importe quelle config reseau locale, tout le monde ne laisse pas la livebox en 192.168.1.1
Rejoignez-nous