le_soissonais
Messages postés7Date d'inscriptionmercredi 13 décembre 2006StatutMembreDernière intervention24 mai 2007
-
22 mai 2007 à 10:25
le_soissonais
Messages postés7Date d'inscriptionmercredi 13 décembre 2006StatutMembreDernière intervention24 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.
cs__Syl_
Messages postés66Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention25 février 20082 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
le_soissonais
Messages postés7Date d'inscriptionmercredi 13 décembre 2006StatutMembreDernière intervention24 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....