[R] Recherche dans un fichier texte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Xnorky
Niveau 3
Niveau 3
Messages : 36
Enregistré le : jeu. 20 sept. 2007 16:42
Status : Hors ligne

[R] Recherche dans un fichier texte

#1

Message par Xnorky »

Bonsoir,

Voilà, je ne sais pas si c'est possible mais en tout cas j'ai pas trouvé dans l'aide.

Je voudrais faire un script qui recherche un fragment de texte dans un fichier .txt et récupérer le n° de la ligne sur laquelle il se trouve.

Si vous avez des solutions...

Merci d'avance
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#2

Message par sylvanie »

prends l'exple fourni dans le chm avec filereadline et modifie le de la manière suivante :
initialise un compteur à 1 avant de rentrer dans la boucle de lecture. Ce compteur sera incrémenté à chaque fin de tour de boucle

à chaque tour de boucle, teste la présence de ta chaîne dans la ligne lue en cours de lecture avec stringinstr, si elle est présente, la fonction retournera une valeur différente de 0

à ce moment là ton compteur correspondra au numéro de la ligne.
si la la chaîne peut être présente plusieures fois, alors pense à te construire un tableau ou tu stockeras toutes les valeurs du compteur pour lesquelles la chaîne est présente, si tu en as besoins.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Xnorky
Niveau 3
Niveau 3
Messages : 36
Enregistré le : jeu. 20 sept. 2007 16:42
Status : Hors ligne

#3

Message par Xnorky »

Merci pour ta réponse, j'vais plancher là dessus...
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#4

Message par sylvanie »

c'est pas très compliqué, mais si tu calles en cours de route, j'indiquerai plus de détail. Mais il est bien plus bénéfique de chercher soit même ^^
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Xnorky
Niveau 3
Niveau 3
Messages : 36
Enregistré le : jeu. 20 sept. 2007 16:42
Status : Hors ligne

#5

Message par Xnorky »

Je suis tout à fait d'accord, je préfère chercher et réussir par moi-même comme ça, j'pourrais le refaire par la suite :)

Sinon, j'ai réussi à trouver le moyen de recherche un mot et que le script me retourne le n° de la ligne correspondante.

Par contre, j'aimerais, comme tu l'as dit, enregistrer les n° de ligne dans un tableau, mais je ne sais pas construire un tableau et j'ai pas réussi à trouver dans l'aide :?

Un p'tit coup de main serait donc le bienvenu :D

Merci d'avance
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#6

Message par sylvanie »

Bonsoir,
de manière générale, un tableau se déclare de la manière suivante :
Dim $tableau[10] où 10 ici est la dimension de mon tableau par exple

pour lire / écrire les éléments du tableau on passe par $tableau[0] pour la première composante , $tableau[1] pour la deuxième... jusqu'à $tableau[9] (toujours dans le ca d'une dimension 10)

exple

Code : Tout sélectionner

$tableau[0]=3 ; écrit 3 en tableau[0]
après $tableau[0] vaut 3.

Maintenant, ce qui arrive souvent c'est qu'on ne connait pas toujours la dimension du tableau à l'avance.
Pour ceci, je te recommande la lecture de ce post :
http://www.autoitscript.fr/viewtopic.php?t=95

Maintenant je pense que tu as toutes les infos ^^
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre