Formattage texte

Messages postés
35
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
28 novembre 2008
-
Messages postés
35
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
28 novembre 2008
-
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

Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Je ne comprends pas trop ce que tu souhaites faire :)
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
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...
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
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
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
3 mars 2009

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)
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
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 :)
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
3 mars 2009

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));
Messages postés
120
Date d'inscription
mercredi 14 janvier 2004
Statut
Membre
Dernière intervention
3 mars 2009

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);






 
Messages postés
35
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
28 novembre 2008
1
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 ?