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
[R] Recherche dans un fichier texte
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- sylvanie
- Niveau 11
- Messages : 1550
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
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.
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.
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
Merci d'avance
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
Merci d'avance
- sylvanie
- Niveau 11
- Messages : 1550
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
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)
expleaprè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 ^^
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]
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.