Page 1 sur 1

[..] Ouvrir un fichier depuis un _FileListToArray

Posté : jeu. 28 juil. 2016 20:43
par lapelle
Bonjour,

Je débute sur AutoIt mais j'ai quelques notions en Basic.

Voici mon projet :
Je dois créer un Puller qui détecte un certain type de fichier dans un dossier (extension et dossier que l'on renseigne dans un fichier INI).
Le puller scrute le dossier toute les deux secondes et liste les fichiers (_FileListToArray). Ça j'y arrive...

La deuxième fonction est que je dois récupérer chaque fichiers de mon tableau, les ouvrir (FileReadLine), les modifier et les enregistrer avec un nom différents puis de déplacer les originaux dans un dossier de sauvegarde. (Ce sont des fichiers texte mais qui on l'extension .plt).

C'est sur cette deuxième fonction que je bloque... Comment récupérer les fichiers de mon tableau ? Sachant que je ne connait pas la longueur de mon tableau car cela va dépendre du nombre de fichier d'entrée.

Voici la fonction en question incomplète bien sûr et en chantier :
Dim $ComptFile = 0 ; Compteur de fichier pour le traitement
Dim $NbFichWatch ; Nombre de fichier détectés dans le puller (ou watchfolder)
Dim $flagTrait = 0 ; Mis à 1 pour lancer le traitement après le puller. 0 = Pas de traitement car pas de fichiers vus.

Func Traitement() ; La partie traitement pour formater les fichiers .plt
   Do
      for $ComptFile = 1 to $NbFichWatch
      $toto[$ComptFile] = FileReadLine ; pour lire un fichier ligne par ligne


   Until $NbFichWatch <= $ComptFile ; Faire jusqu'à ce que le nombre de fichier scruté soit atteind
   $FlagTrait = 0 ; Réinitialisation
EndFunc
J'espère être clair, si besoin je peux partager la totalité de mon code (en enlevant toute les données confidentielle :wink: )

Re: [..] Ouvrir un fichier depuis un _FileListToArray

Posté : jeu. 28 juil. 2016 21:39
par TT22
Salut, pour connaitre la taille d'un tableau utilise la fonction Ubound(), tu auras donc un truc du genre

Code : Tout sélectionner

$NbFichWatch = Ubound($toto)
(enfin si j'ai bien compris ton code).
Et Dim ne doit être utilisé que pour déclarer un tableau.

Re: [..] Ouvrir un fichier depuis un _FileListToArray

Posté : jeu. 28 juil. 2016 22:02
par jguinch
Dim ne doit même pas être utilisé, du moins c'est pas recommandé
(tiens TT22 est de retour ? )

Re: [..] Ouvrir un fichier depuis un _FileListToArray

Posté : jeu. 28 juil. 2016 22:16
par TT22
(@jguinch non je suis seulement de passage ;) )

Et sinon pourquoi utiliser un _FileListToArray() pour ensuite parcourir le tableau alors que tu peux directement faire une boucle sur les fichiers avec FileFindFirstFile() et FileFindNextFile() ?

Re: [..] Ouvrir un fichier depuis un _FileListToArray  

Posté : jeu. 28 juil. 2016 22:51
par Tlem
Bonsoir,
vous devriez peut être envisager la chose différemment en utilisant un UDF qui surveille les changements dans un dossier. ^^
Vous avez ceci ou ceci au choix. A chaque changement, il vous suffit d'effectuer l'opération désirée.

Re: [..] Ouvrir un fichier depuis un _FileListToArray

Posté : ven. 29 juil. 2016 14:57
par lapelle
Waow, merci beaucoup ! En effet, j'ai l'impression que je me complique la vie...

Je vais regarder ça et je reviens vers vous :D