Compteur de résultats Autoit dans un while
Résolu
Fontainard
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
Fontainard Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
Fontainard Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai récupéré un petit script Autoit, qui arrive à déceler grâce à StringInStr sur quelles lignes se trouvent une chaine de caractère dans un fichier.
Néanmoins, je veux aller plus loin... j'aimerais rajouter une condition à partir du moment ou cette chaine de caractère se retrouve sur deux lignes différente (et qui par exemple m'afficherait pour l'instant un Msgbox("Attention la chaine de caractère a été décelé &nb fois dans le fichier").
Je cherche à incrémenter une variable qui permet de voir, dans ma boucle, le nombre de répétition de la chaine, et c'est là que ça pose problème.
Débutant avec se langage, j'ai forcément un peu de mal, je vous remercie donc par avance pour votre aide!
J'ai récupéré un petit script Autoit, qui arrive à déceler grâce à StringInStr sur quelles lignes se trouvent une chaine de caractère dans un fichier.
Néanmoins, je veux aller plus loin... j'aimerais rajouter une condition à partir du moment ou cette chaine de caractère se retrouve sur deux lignes différente (et qui par exemple m'afficherait pour l'instant un Msgbox("Attention la chaine de caractère a été décelé &nb fois dans le fichier").
Je cherche à incrémenter une variable qui permet de voir, dans ma boucle, le nombre de répétition de la chaine, et c'est là que ça pose problème.
Débutant avec se langage, j'ai forcément un peu de mal, je vous remercie donc par avance pour votre aide!
$NomFichier = "nom.txt" ; le nom du fichier a parcourir
$ChaineRecherchee = "nom"
$Resultat = "Les chaines de caractères sont sur le ou les lignes suivantes : "&@CRLF
$Trouve = 1
$i=1 ; le compteur de lignes
$Fichier = FileOpen($NomFichier, 0) ; on ouvre le fichier
If $Fichier = -1 Then ; Vérification que le fichier est correctement ouvert
MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier")
Exit
EndIf
While 1 ; Et on parcoure le fichier...
$ligne = FileReadLine($Fichier) ; ... en lisant chaque ligne...
If @error = -1 Then ; ... jusqu'a la fin...
ExitLoop
Else
If StringInStr($ligne,$ChaineRecherchee, 2) <> 0 Then ; Si on trouve la chaine a chercher dans la ligne
$Resultat = $Resultat & $i & ", " ; ... on l'inscrit dans les résultats ...
$Trouve = 1 ;... et on précise qu'on a trouvé
EndIf
$i = $i + 1 ; On incrémente le compteur de ligne
EndIf
Wend
FileClose($NomFichier) ; on n'oublie pas de fermer le fichier
if $Trouve = 1 Then;
msgbox(0,"Résultat",StringTrimRight($Resultat,2));
Else ;
MsgBox(0,"Résultat","Aucune tâche en cours d'éxécution")
EndIf
A voir également:
- Compteur de résultats Autoit dans un while
- Compteur électrique - Guide
- Resultats foot - Télécharger - Vie quotidienne
- Compteur de contractions - Télécharger - Santé & Bien-être
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Autoit - Télécharger - Divers Utilitaires
1 réponse
T'es un boulet Fontainard, pourtant c'est hyper simple ! ^^
...
...
$doublon = 0
...
$Resultat = $Resultat & $i & ", " ; ... on l'inscrit dans les résultats ...
$Trouve = 1 ;
$doublon = $doublon + 1
...
if $Trouve = 1 Then;
msgbox(0,"Résultat",StringTrimRight($Resultat,2));
Elseif $doublon > 1 Then
msgbox(0,"Alerte","Répétition de la chaine"& $doublon" fois.")
Else
MsgBox(0,"Résultat","Aucune tâche en cours d'éxécution")
EndIf