Formattage texte

trdev Messages postés 35 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 28 novembre 2008 - 22 sept. 2006 à 16:35
trdev Messages postés 35 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 28 novembre 2008 - 25 sept. 2006 à 14:12
bonjour


 


Je récupère un fichier texte d'un vieux systeme que je dois reformater, dont voici 2 lignes exemples :


23/08/2006      11923 A O  45,0 * *  *   GO       0,445      505,59       224,99
22/08/2006 BS00400601 A O  45,0 * *  *   GC       2,968      505,59      1500,59

je pensais parcourir chaque ligne et ajouter des tabulations pour avoir

23/08/2006             11923 A O  45,0 * *  *   GO       0,445      505,59       224,99
22/08/2006 BS00400601 A O  45,0 * *  *   GC       2,968      505,59      1500,59

Lorsque je fais ça, c'est encore pire ...



23/08/2006 11923 A O 45,0 * * * GO




22/08/2006 BS00400601 A O 45,0 * * * GC





J'ai essayer padl avec des blancs mais c'est pas top (quand même un décalage)
quelqu'un peut m'aider ?

8 réponses

MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
22 sept. 2006 à 19:12
Je ne comprends pas trop ce que tu souhaites faire :)
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
22 sept. 2006 à 19:35
vire les espaces etc et remplace par des ;, nomme ton fichier .csv, et tu pourras le lire avec excel....enfin si j'ai bien compris ce que tu cherchais a faire...
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
23 sept. 2006 à 11:08
Pour aligner du text, tu peux utiliser string.Format("monString : {0;-X}", myString) par exemple.
X est la longueur que doit prendre la chaîne de caractère, si la chaîne est plus grande que X, X n'est pas pris en compte. Utiliser '-' pour l'alignement (ganche / droite).

<hr size="2" />VC# forever
0
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
25 sept. 2006 à 10:29
Merci


 


mon problème prinicipal est que je récupère un fichier texte censé représenter un tableau.
je voudrais réaligner les colonnes, sachant que parfois il manque des informations.
Quand je rajoute des blancs j'ai des décalages ...
comment réaligner proprement les colonnes  (sachant quelles ne sont pas toutes remplies) ?

je dois ensuite l'envoyer vers crytal report...(ça je sais faire)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
25 sept. 2006 à 10:47
Afin de tout réaligner procède simplement ainsi :
Cherche dans la colonne la ligne qui a la plus grande longueur.
Toutes les lignes de cette colonne devront avoir cette taille et tu alignes le tout à droite.
Fait de même pour chaque colonne :)
0
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
25 sept. 2006 à 11:30
c'est ce que je fais :


mais quand j'ajoute les blancs j'ai des décalages

voici le début de mon code (1° colonne longueur 10 , 2° col lgr 10 mais j'atou



strChaineFinale = String.Format("{0,10}", strChaineInit.Substring(0, 10));



strChaineFinale = strChaineFinale+String.Format("{0,-20}"," "+"          "+strChaineInit.Substring(11, 10));



strChaineFinale = strChaineFinale +String.Format("{0,-30}"," "


+"   " +strChaineInit.Substring(22, 27));
0
cs_titi66 Messages postés 120 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 3 mars 2009
25 sept. 2006 à 11:34
Erreur sur mon message précedent, j'ai validé trop vite

voici mon code (1° colonne longueur 10 , 2° col lgr 10 mais je complete à 20 , 3° col completer à 30)


strChaineFinale = String.Format("{0,10}", strChaineInit.Substring(0, 10));


strChaineInt = strChaineInit.Substring(11, 10).PadLeft(20,' ');


strChaineFinale = strChaineFinale + String.Format("{0,-20}", strChaineInt);


strChaineInt = strChaineInit.Substring(22, 27).PadLeft(30, ' ');


strChaineFinale = strChaineFinale + String.Format("{0,-30}",strChaineInt);






 
0
trdev Messages postés 35 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 28 novembre 2008 1
25 sept. 2006 à 14:12
mon problème est en parti résolu, en fait le texte est bien formatté mais dans l'affichage dans un RichTextbox tout se décale, si je le copie dans un fichier texte tout est nickel


comment faire afficher cela correctement dans le richtextbox ?
0
Rejoignez-nous