Page 1 sur 1

[R] Conseil pour la modification de fichier txt

Posté : ven. 09 avr. 2010 17:50
par peuchere83
Bonjour à tous,

j'ai réalisé un programme qui vérifie le nombre de caractères contenues par lignes et cela de manière récursive dans tous les fichiers d'un répertoire passé en paramètre (bon je vous rassure il ne fait pas que cela mais bon je vais pas m'étendre :lol: )

Je dois maintenant vérifier que la date qui est positionnée toujours entre le 2ème caractères et le 8ème correspond à la date du vendredi suivant. Pour l'instant pas de problème.
Par contre si la date n'est pas bonne, je dois la corriger et c'est là où est mon problème :
Comment faire pour remplacer cette information car je suis déjà en lecture forcément sur le fichier.
La solution à laquelle je pensais mais que je souhaiterais qu'en dernier recours serait d'écrire en parralèle dans un autre fichier texte les lignes correctes et corrigées.

Quelqu'un a t'il une autre idée?


Voici mon code :
► Afficher le texte
Comme vous pouvez le voir, pour l'instant je fais juste une vérification et j'écris cela dans un fichier csv

Cordialement

Re: [..] Conseil pour la modification de fichier txt

Posté : ven. 09 avr. 2010 18:26
par GMib
Est ce que la date est la même a chaque ligne ? (celle du vendredi précèdent ?)
si oui un simple stringreplace devrai faire l'affaire.

Edit : essaye un truc du genre :

Code : Tout sélectionner

#include <file.au3>
Dim $aLines
If Not _FileReadToArray("c:\toto.txt" ,$aLines) Then
   MsgBox(4096,"Error", " Error reading log to Array     error:" & @error)
   Exit
EndIf
For $x = 1 to $aLines[0]
   $date = StringMid($aLines[$x], 2, 6)
   If  $date <> $ResultDateVendrediProchain Then $aLines[$x] = StringReplace($aLines[$x],$date,$ResultDateVendrediProchain)
   $NbreCaractere = StringLen($aLines[$x])
   If $NbreCaractere <> 290 Then
        $CountErrorLine = $CountErrorLine + 1
        FileWriteLine($FileResultat, ";;" & $CountLine & ";" & $NbreCaractere)
    EndIf
Next
$CountLineTotal = $aLines[0]

_FileWriteFromArray("c:\toto.txt", $aLines, 1)

Re: [..] Conseil pour la modification de fichier txt

Posté : mar. 11 mai 2010 11:15
par peuchere83
Désolé pour cette réponse tardive :oops:

Mais grâce à ton code, et surtout à l'utilisation de "_FileReadToArray", j'ai pu faire ce que j'avais à faire.

Encore merci.