noz666
Messages postés26Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention21 février 2007
-
5 janv. 2007 à 12:22
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
5 janv. 2007 à 15:30
Bonjour ci joint une partie du code de mon llgiciel :
'cherche les liens en fonction de la console console = Combo1.Text
source = Inet1.OpenURL("http://www.jeuxvideo.com/articles/listes/tests-" & console & "-noms.htm")
nb1 = InStr(1, source, "redacteur")
tmp = Len(source)
source = Mid(source, nb1, tmp - nb1)
'donne le nombre de résultat
tmp = UBound(Split(source, Titre))
Label3.Caption = tmp
nb = 1
For i = 1 To tmp
nb1 = InStr(nb, source, Titre)
nb2 = InStr(nb1, source, "")
nb2 = nb jeu(i) Mid(source, nb1, nb2 - nb1)> erreir a cete ligne
Next i
'===========================================
Voila alors je comprends pas pk y me met une erreur de procédure a cette fonction alors que c'est bien comme ça qu'on fait un mid
le cancre
Messages postés292Date d'inscriptionmercredi 25 octobre 2006StatutMembreDernière intervention27 novembre 2009 5 janv. 2007 à 12:39
tmp = Len( source ) <- on imagine 30 comme longueur
apres tu fais une boucle , qui fait quoi à ton avis ?
(car là tu ne traites pas mot par mot ta chaine de caractere)
For i = 1 To 30
nb1 = InStr(nb, source , Titre)
nb2 = InStr(nb1, source, "")
nb2 = nb jeu(i) Mid( source , nb1, nb2 - nb1) > erreir a cete ligne
Next i
je ne comprends vraiment pas le sens de ta boucle,si tu nous l'expliques ligne par ligne, j'pense que tu comprendras ton erreur
noz666
Messages postés26Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention21 février 2007 5 janv. 2007 à 12:53
he bien enfette j'essaye de cherche un jeu dans une page web contenant plein de jeux donc par exemple quand je tape "splinter cell" j'aimerai avoir tous la list des splinter cell qui est stocker dans l'array jeu
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 janv. 2007 à 13:08
nb = 1
For i = 1 To tmp
nb1 = InStr(nb, source, Titre)
nb2 = InStr(nb1, source, "") <---- Inutile, nb2 est écrasé à la ligne suivante
nb2 = nb jeu(i) Mid(source, nb1, nb2 - nb1) <--- nb2nb, nb1 devra théoriquement etre > nb, donc nb2-nb1 = négatif ==> erreur
Next i
Enjoy
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 janv. 2007 à 13:26
utilises Instr plutot que Split :
Private Sub Form_Load()
Dim sSource As String
Dim nCount As Long
Dim xsGames() As String
Dim i As Long
sSource = Inet1.OpenURL("http://www.jeuxvideo.com/articles/listes/tests-" & Combo1.Text & "-noms.htm")
For i = 0 To nCount - 1
Debug.Print i, xsGames(i)
Next i
Unload Me
End Sub
Public Function ExtractGames(ByRef vsHTMLSrc As String, ByRef vsTitle As String, ByRef vxsGames() As String) As Long
Dim i As Long
Dim nCount As Long
Dim xsGames As String
Dim nStart As Long
Dim nEnd As Long
Erase vxsGames
i = InStr(vsHTMLSrc, "<table border=""0"" cellpadding=""0"" cellspacing=""1"" summary="""">")
If i Then
i = InStr(i + 1, vsHTMLSrc, vsTitle, vbTextCompare)
Do While i
nStart = InStrRev(vsHTMLSrc, ">", i) + 1
nEnd = InStr(i, vsHTMLSrc, "<")
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 5 janv. 2007 à 15:30
euh....
oui, c'est moi qui te l'ai codé
tu donne a la fonction le code HTML de la page, le titre que tu cherches ("Cell" trouveras Splinter Cell...)
et tu donne un tableau de String
en sortie de la fonction, tu récupère le nombre de jeux trouvés, et ton tableau sera remplis.
là, le résultat est simplement écrit dans la fenetre de Debug.
On n'utilise là grosso modo que Instr, qui permet de rechercher du texte dans une String.
vbTextCompare est là pour que la casse ne soit pas prise en compte ( "SPLINTER" ou "SpliNter", même combat)