cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 6 févr. 2008 à 17:01
Salut
Oui, et comment fais-tu pour faire cette recherche ?
Note que, dans la chaine que tu recherches, il y a des ".
Donc, dans une syntaxe VB6 de Instr (par exemple), il faudra penser à doubler les " à l'intérieur de la chaine à rechercher.
Par exemple avec Replace(maChaineRecherchée, """", """""")
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
maxsecurite2
Messages postés181Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention 9 avril 2010 6 févr. 2008 à 17:07
en fait c'est pour cherche sur des pages internet une certaine valeur donc je pensais faire 3 textbox 1 pour <script type="text/javascript" l'autre pour "></script> et le textbox3 pour récupérer le résultat :) en gros il faudrait une fonction je pense mais bon j'y connais pas grand chose :s
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 6 févr. 2008 à 17:12
En supposant que le code html est dans une string nommée ... Buffer
Dim i As Long, J As Long, Valeur As String
i = Instr(Buffer, "<script type=""text/javascript"" src=""")
j = Instr(i, Buffer, """></script>"
Valeur = Mid$(Buffer, i + 35, j - i - 35)
Cela devrait te trouver la 1ere occurence de ce que tu recherches.
Attention, je n'ai pas intégré de gestion d'erreur au cas ou le texte recherché ne serait pas présent. A toi de voir si cela est nécessaire ou pas !
Vous n’avez pas trouvé la réponse que vous recherchez ?
maxsecurite2
Messages postés181Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention 9 avril 2010 6 févr. 2008 à 17:18
Merci Kristof_Koder mais je comprends pas trop ce que va faire ton script ? mon code HTML il est dans quel string dans ton code ? peux tu me montrer un exemple concret stp ?
maxsecurite2
Messages postés181Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention 9 avril 2010 6 févr. 2008 à 20:51
c'est normal qu'il me génère une erreure là ? :
Private Sub Command1_Click()
Dim i As Long, J As Long, Valeur As String
buffer = " YO "
i = InStr(buffer, "")
J = InStr(i, buffer, "")
Valeur = Mid$(buffer, i + 35, J - i - 35)
MsgBox Valeur
End Sub
maxsecurite2
Messages postés181Date d'inscriptionvendredi 3 janvier 2003StatutMembreDernière intervention 9 avril 2010 6 févr. 2008 à 21:12
alors
Dim i As Long, J As Long, Valeur As String
Private Sub Command1_Click()
Dim i As Long, J As Long, Valeur As String
buffer = Text3.Text
i = InStr(buffer, Text1.Text)
J = InStr(i, buffer, Text2.Text)
Valeur = Mid$(buffer, i + Len(Text1.Text), J - i - Len(Text2.Text))
MsgBox Valeur
End Sub
avec en text1 " " en text2 " et en text3 "TEST" donne "TES" donc il faut remplacer
Valeur = Mid$(buffer, i + Len(Text1.Text), J - i - Len(Text2.Text) par >>
Valeur = Mid$(buffer, i + Len(Text1.Text), J - i - Len(Text2.Text) + 1)
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 6 févr. 2008 à 21:27
Ouais ! Qd on travaille une longueur de sous-chaine à partir de deux index dans la chaine, il y a souvent un caractère qui est à la ramasse et je l'oubli tout le temps : c'est comme l'histoire des poteaux et des intervalles !
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 6 févr. 2008 à 21:29
EH !! Non ! Attention !!
Tu dois toujorus faire un Len() de Text1.Text ! Pas de Text2.Text dans l'appel à Mid$() !! Ton défaut de 1 caractère vient de là en fait !!
tu dois donc mettre ceci :
Valeur = Mid$(buffer, i + Len(Text1.Text), J - i - Len(Text1.Text)