Modification de fichier texte

Résolu
le_soissonais Messages postés 7 Date d'inscription mercredi 13 décembre 2006 Statut Membre Dernière intervention 24 mai 2007 - 22 mai 2007 à 10:25
le_soissonais Messages postés 7 Date d'inscription mercredi 13 décembre 2006 Statut Membre Dernière intervention 24 mai 2007 - 24 mai 2007 à 11:12
 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

cs__Syl_ Messages postés 66 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 25 février 2008 2
22 mai 2007 à 11:50
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_
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
22 mai 2007 à 16:07
Complément HS :

Tu bosses sur Soissons ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
3
le_soissonais Messages postés 7 Date d'inscription mercredi 13 décembre 2006 Statut Membre Dernière intervention 24 mai 2007
22 mai 2007 à 17:04
Oui je suis et je bosse sur Soissons....enfin je suis en stage...pour 7 mois ! (deja 5 de passés)....
0
le_soissonais Messages postés 7 Date d'inscription mercredi 13 décembre 2006 Statut Membre Dernière intervention 24 mai 2007
24 mai 2007 à 11:12
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....
0
Rejoignez-nous