[R] Boucle
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.
[R] Boucle
Bonjour tout le monde,
J'explique mon souci ( je suis débutant ) :
Je n'arrive pas à imaginer une solution me permettant de lire un fichier texte ligne par ligne et en fonction de chaque ligne, appeler une fonction.
Plus parlant:
1/ Le script lit dans le fichier Liste.txt la première ligne, admettons qu'elle contienne " C:\Windows\Notepad.exe "
2/ Le script détermine si le fichier C:\Windows\Notepad.exe existe, si oui appelle une fonction ( msgBox() avec le nom du fichier par exemple )
3/ Le script passe à la ligne suivante, recherche si le fichier existe, ect ... tout cela jusqu'à la dernière ligne du fichier List.txt .
Comme dit précédemment, je ne sais pas vraiment comment faire.
J'imagine qu'il faudra utiliser une boucle, j'avais pensé à " For...In...Next " , le souci c'est que l'expression doit être soit un objet soit un "Array" .
Faudrait-il stocker chaque ligne dans un tableau ?
Si oui, je ne sais vraiment pas comment faire.
J'espère que mon problème vous est parlant :)
Merci
++
J'explique mon souci ( je suis débutant ) :
Je n'arrive pas à imaginer une solution me permettant de lire un fichier texte ligne par ligne et en fonction de chaque ligne, appeler une fonction.
Plus parlant:
1/ Le script lit dans le fichier Liste.txt la première ligne, admettons qu'elle contienne " C:\Windows\Notepad.exe "
2/ Le script détermine si le fichier C:\Windows\Notepad.exe existe, si oui appelle une fonction ( msgBox() avec le nom du fichier par exemple )
3/ Le script passe à la ligne suivante, recherche si le fichier existe, ect ... tout cela jusqu'à la dernière ligne du fichier List.txt .
Comme dit précédemment, je ne sais pas vraiment comment faire.
J'imagine qu'il faudra utiliser une boucle, j'avais pensé à " For...In...Next " , le souci c'est que l'expression doit être soit un objet soit un "Array" .
Faudrait-il stocker chaque ligne dans un tableau ?
Si oui, je ne sais vraiment pas comment faire.
J'espère que mon problème vous est parlant :)
Merci
++
Modifié en dernier par 17Cx le mer. 20 janv. 2010 18:17, modifié 1 fois.
Re: [..] Boucle
Code : Tout sélectionner
$emplacement = @ScriptDir & "test.txt" ; tu met l'emplacement la
$file = FileOpen ( $emplacement , 0) ; ouvre le fichier
for $l = 1 to 50 ; nombre de ligne qu'il faut chercher
$p = FileReadLine ( $file , $l ) ; lit la ligne
If not @error Then ; verifie si il n'y a pas d'erreur
If FileExists ( $p ) Then ; verifie si le fichier existe
MsgBox (0,"" , $p , 2 ) ; msgbox ;-)
EndIf
EndIf
next ; retourn au debut
FileClose ( $file )Des que un des fichier prensent sur la liste il va afficher une msgbox qui va rester afficher 2 seconde puis il va chercher le reste
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Re: [..] Boucle
Hello !
Oula, tu m'as mâché le boulot
Je vais disséquer ce script pour bien tout comprendre, merci bien de ton aide !
Par contre .. si l'on ne connais pas le nombre de ligne que contient le fichier, comment ça se passe?
Oula, tu m'as mâché le boulot
Je vais disséquer ce script pour bien tout comprendre, merci bien de ton aide !
Par contre .. si l'on ne connais pas le nombre de ligne que contient le fichier, comment ça se passe?
Re: [..] Boucle
tu met 100 ligne et puis ca devrait le faire
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Re: [..] Boucle
Ok 
Have a nice day
++
Have a nice day
++
Re: [..] Boucle
Pour la culture générale :Par contre .. si l'on ne connais pas le nombre de ligne que contient le fichier, comment ça se passe?
;Compter le nombre de lignes du fichier X
$CountLines = _FileCountLines("chemin du fichier X")
msgbox(0, "Nombre de lignes du fichier X : ", $CountLines)
Re: [..] Boucle
MerciVoor0ck a écrit :Pour la culture générale :Par contre .. si l'on ne connais pas le nombre de ligne que contient le fichier, comment ça se passe?
;Compter le nombre de lignes du fichier X
$CountLines = _FileCountLines("chemin du fichier X")
msgbox(0, "Nombre de lignes du fichier X : ", $CountLines)
Sa donne sa
Code : Tout sélectionner
$emplacement = @ScriptDir & "test.txt" ; tu met l'emplacement la
$file = FileOpen ( $emplacement , 0) ; ouvre le fichier
$x = _FileCountLines ( $emplacement )
for $l = 1 to $x ; nombre de ligne qu'il faut chercher
$p = FileReadLine ( $file , $l ) ; lit la ligne
If not @error Then ; verifie si il n'y a pas d'erreur
If FileExists ( $p ) Then ; verifie si le fichier existe
MsgBox (0,"" , $p , 2 ) ; msgbox ;-)
EndIf
EndIf
next ; retourn au debut
FileClose ( $file )Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Re: [..] Boucle
Re,
Hey merci pour l'astuce.
a noter qu'il faut inclure File.au3
++
Hey merci pour l'astuce.
a noter qu'il faut inclure File.au3
++
- Tlem
- Site Admin

- Messages : 11818
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [R] Boucle
Pour la culture générale (aussi), au lieu d'utiliser _FileCountLines(), il est possible d'utiliser la macro @error après le FileReadLine() (comme dans l'exemple de cette commande).
Cela évite un Include et c'est surtout plus logique puisque @error renvoi -1 si il n'y à plus de lignes.
Cela évite un Include et c'est surtout plus logique puisque @error renvoi -1 si il n'y à plus de lignes.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".



