[R] _FileWriteToLine efface tout le fichier :(

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lokidor
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 08 févr. 2011 10:57
Localisation : Sophia Antipolis
Status : Hors ligne

[R] _FileWriteToLine efface tout le fichier :(

#1

Message par lokidor »

Bonjour à tous,

Je rencontre un petit soucis avec la fonction _FileWriteToLine qui, de ce que j'ai compris de la doc, est sensé écrire une ligne de texte à la place d'un autre ou en plus d'une autre suivant le paramétrage.

Dans mon cas, j'ai plusieurs fichiers dont je voudrais réécrire l'entête, et uniquement l'entête,(1 seule ligne) à chaque fois qu'un des fichiers est modifié.

Mon soucis, c'est que, au lieu de me supprimer juste le ligne désirée, il me supprime tout le texte et me rajoute la ligne :x

C'est moi qui n'ait rien compris a ce que me dit la doc ou bien? :?:

Voici un petit bout de code que j'ai utilisé pour tester la fonction. Si quelqu'un comprends quelque chose, car moi je nage là ^^;

Code : Tout sélectionner

#Include <File.au3>

FileOpen("***\toto.txt",1)

$res=_FileWriteToLine("***\toto.txt", 1, "my replacement for line 2", 1)

FileClose("***\toto.txt")

MsgBox(64,"info","res : "&$res&@CRLF&"error : "&@error)
PS: lorsque je me servais du filehandler retourné par la fonction FileOpen pour passer en paramètre de _FileWriteToLine, j'avais un $res=0 ET un @error=0, @error=0 n'étant pas un cas expliqué dans la doc :cry:
Modifié en dernier par lokidor le ven. 15 avr. 2011 13:18, modifié 1 fois.
Loki,

Le monde avance grâce aux paresseux!
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] _FileWriteToLine efface tout le fichier :(

#2

Message par DimVar »

Slt,

Je viens de tester ton exemple et je ne rencontre aucun soucis.
La fonction écrase bien la 1ere ligne du fichier.
Si je mets le dernier parametre à 0 (defaut) il insert une ligne plutot que de la remplacer (ecraser).

Peut etre que si tu postes le code complet, l'erreur se situerais en amont ou en aval dans ton script ???

Dimvar.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
lokidor
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 08 févr. 2011 10:57
Localisation : Sophia Antipolis
Status : Hors ligne

Re: [..] _FileWriteToLine efface tout le fichier :(

#3

Message par lokidor »

Justement, je n'ai essayé ce code qu'avec ce petit bout de script.
Les résultats que j'ai expliqué précédemment sont directement tirés de ces ligne :cry:

Le problème viendrais de ma machine?
Loki,

Le monde avance grâce aux paresseux!
lokidor
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mar. 08 févr. 2011 10:57
Localisation : Sophia Antipolis
Status : Hors ligne

Re: [..] _FileWriteToLine efface tout le fichier :(

#4

Message par lokidor »

OK les gars, j'ai trouvé d'où viens le soucis.

Grâce à la réflexion de DimVar je suis allé tester le code sur le poste d'un collègue qui a eu la bonne idée de ne pas ouvrir le fichier avant de l'éditer.

En fait dans mon code, je fait un FileOpen. Et apparemment ça ne lui plait vraiment pas d'ouvrir le fichier avant de faire un FileWriteToLine.

Juste ne pas ouvrir le fichier suffit à résoudre le soucis.

En espérant que ce post en aidera d'autres ;)
Loki,

Le monde avance grâce aux paresseux!
Répondre