Probleme de lecture dans un fichier texte

Résolu
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013 - 15 août 2007 à 17:45
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 - 16 août 2007 à 08:44
bonjour,
Je suis en train de gérer les listes multiples de films pour la fonction "rechercher "des films sur allociné que j ai ajouté récemment et je me heurte à un problème que je ne vois pas comment gérer. Je m'explique, en recherchant sur allocine le film la momie (par exemple) je récupère 15 films. j'enregistre le source de la page, mais pour obtenir la page du film la momie (qui est en place numéro trois dans le fichier) j'ai besoin de récupérer le numéro du film chez allociné. quand je fais la recherche par instr il me renvoie systématiquement la première occurence or j'ai besoin de la troisième..quelqu'un à une idée ???? je sèche depuis ce matin....

Par avance merci

6 réponses

Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
15 août 2007 à 17:55
Utilise le 1er argument de instr(), qui est facultatif, et qui est un entier, indiquant à partir de quel caractère tu fais la recherche.

Dim Buffer as string, str as String, i as long, j as long

Buffer = "blablablablablablabla"
str = "La Momie"

j = 0
i = 1
Do
i = instr(i, Buffer, Str)
If i <> 0 Then
j = j + 1
Msgbox("occurence N°" & cstr(j) & " trouvé à l'indice " & cstr(i))
i = i + 1 ' If faut absolument décalé le début de la recherche d'au moins 1 caractère, sinon le code va boucler à l'infini sur al 1ere occurence !!
End if
loop until i = 0

Voici un petit exemple de boucle exploitant ce param pour indiquer toutes les occurences d'une sous-chaine dans une autre
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 août 2007 à 17:56
Un bon conseil : oublie le fichier text plat pour stocker tes infos, et utilise soit un fichier xml, soit beaucoup mieux : une base de données.

Non seulement se sera bien plus simple pour stocker tes données, faire des recherches dessus, etc. mais en plus ce sera bien plus rapide !
0
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
15 août 2007 à 18:03
@Kristof
Merci de ta réponse. Impeccable !!! je me prenais le chou depuis ce matin la dessus. Je mettrais le source complet de la fonction de recherche dès que j'ai fini.
0
capricorne83 Messages postés 48 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 novembre 2013
15 août 2007 à 18:21
@darksidious
Il s agit d un stockage temporaire. le fichier texte est le source d'une page HTML. il faudrait que je le retraite pour le stocker dans une Bdd. je ne fais que rechercher des infos dedans et je l'efface après. ensuite avec les infos récupérées j'alimente une Bdd.
Merci de ta réponse
0

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

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
15 août 2007 à 18:23
ok pas de soucis alors. C'est juste qu'il vaut mieux éviter un fichier texte plat pour faire du stockage. Après si ce n'est qu'un fichier temporaire et qu'on a pas le choix, forcément !
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
16 août 2007 à 08:44
Si j'ai bien compris ton projet et si le texte à traiter provient d'un controle webbrowser dans ton projet, ne t'embêtes pas à coller la source de la page dans un fichier temporaire, pour ensuite relire ce même fichier et faire la recherche dedans ! colles directement la source dans une variable string et traite directement à partir de cette variable
0
Rejoignez-nous