Modification de fichier texte

Résolu
Signaler
Messages postés
7
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Messages postés
7
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
 Bonjour a tous,

Voila mon probleme, en fait je recupere un fichier texte venant de Sage 100 par FTP. Suite a ça je le translate dans un format précis afin qu'il soit traité par un lecteur de codes barres. Ainsi, les champs vides sont mis a jour avec les données lues par le lecteur de codes barres.

Mais je dois aprés donc ce complement d'infos retranslater le fichier dans son format d'origine. Je suis donc parti du principe que le fichier d'origine sera ma source et que je viendrais piocher mes données dans mon fichier complété de mes infos.

Ainsi, je voulais utiliser un writeline mais mon pb c'est qu'il ecrit a la suite et non a la ligne que je voudrais. De plus etant plus ou moins novice en C# je sais pas trop comment realiser cette manip.

Merci a vous d'avoir lu et aussi de m'aider.

Cordialement

4 réponses

Messages postés
66
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
25 février 2008
1
Bonjour, tu veux écrire dans un fichier texte mais insérer une ligne non pas à la suite mais choisir le numéro de la ligne où se fera l'insertion, c'est çà ?

Une idée (pas forcément la meilleure) serait de lire ton fichier ligne par ligne (ReadLine) et de remplir une StringCollection (using System.Collections.Specialized;) pour chaque ligne lue
En gros :
StringCollection maCollection = new StringCollection();
//boucle tant que le fichier contient des lignes
maCollection.Add(monStreamReader.ReadLine());
//fin de la boucle

Ensuite tu peux manipuler ta StringCollection et choisir d'insérer une ligne à un index particulier (méthode Insert(int index)), ou de supprimer une ligne, bref tu obtiens une sorte de copie de ton fichier plus facile à manipuler.

Puis tu fais l'opération inverse pour reconstruire ton fichier
//boucle tant que la StringCollection contient des éléments
monStramWriter.WriteLine(maCollection[position]);
//fin de la boucle

C'est peut être pas le plus efficace, mais ca devrait marcher

Bonne journée
_Syl_
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
Complément HS :

Tu bosses sur Soissons ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
7
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
24 mai 2007

Oui je suis et je bosse sur Soissons....enfin je suis en stage...pour 7 mois ! (deja 5 de passés)....
Messages postés
7
Date d'inscription
mercredi 13 décembre 2006
Statut
Membre
Dernière intervention
24 mai 2007

Merci _Syl_ de ton aide ca m'a fait avancé pas mal...mais la je bloque sur un truc encore plus bete. Je voudrais rechercher le nombre de fois qu'est presente une occurence entre 2 flags. J'entends par ça que j'ai un flag #CHEN (entete de vente), qui correspond a une commande. Cette derniere est composée de #CHLI représentant une ligne de la commande. Je voudrais savoir combien de fois j'ai de #CHLI entre 2 #CHEN....