Comment tronquer un texte en tenant compte des retour de chariot (line breaks)
KoRG19
Messages postés9Date d'inscriptionjeudi 16 novembre 2000StatutMembreDernière intervention 4 novembre 2005
-
19 juil. 2005 à 00:28
KoRG19
Messages postés9Date d'inscriptionjeudi 16 novembre 2000StatutMembreDernière intervention 4 novembre 2005
-
19 juil. 2005 à 21:20
Bonjour,
J'aimerais savoir comment tronquer un texte en C#/ASP.NET pour ne pas perdre la mise en page de mon tableau.
Je m'explique. Je code présentement un module d'affichage de nouvelles. J'ai besoin de faire un résumé de chaque nouvelle pour l'afficher sur la page d'accueil de mon site. Je veux limiter le nombre de caractères tout en tenant compte des retours de chariot pour garder la mise en page du tableau ou je dispose le contenu de la nouvelle. Il faut donc que je n'affiche qu'un certain nombre de caractères et de lignes. Le contenu de la nouvelle vient d'un champ "Memo" dans une base de données Access.
Est-ce que quelqu'un a une idée?
Votre aide est très appréciée!
Merci!
A voir également:
"" String literal contains an unescaped line break
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 19 juil. 2005 à 08:47
fait la recherche de caractère entrée ( 0X0D et 0X0A dans ta chaine), tu seras le nbre de caractère entrée, et donc , le nombre de ligne
Par contre, sur le principe, tu m'as l'air de vouloir couper un résumé. Heu, c'est un peu bizarre. Pourquoi ne pas mettre une zone avec une scrollbarre horizontale ? au moins, tu mets tout ton résumé, sans t'occuper de la longueur du résumé.
LUDINSKI
Messages postés441Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention22 mai 20128 19 juil. 2005 à 08:59
Salut Korg,
Si le retour chariot est codé sur 2 caractères, la façon la plus simple serait de faire :
// La chaîne récupéré sur Access
string memo = "toto\r\ntata\r\ntiti"
;
// On récupère les chaînes comprises entre les caractères à supprimer
string[] lines = memo.Split( '\r', '\n'
);
// On ne garde que les lignes de longueur supérieur à 0
ArrayList stringList = new
ArrayList();
foreach( string line in
lines )
{
if( line.Length > 0
)
stringList.
Add( line );
}
Toutes les lignes du mémo sont dans l'ArrayList
J'espère que ça répond à ta question...
KoRG19
Messages postés9Date d'inscriptionjeudi 16 novembre 2000StatutMembreDernière intervention 4 novembre 2005 19 juil. 2005 à 21:20
Je doit garder les retour de chariot pour afficher l'apercu de la nouvelle. Si la ligne est plus longue que la largeur de mon tableau, je perd aussi ma mise en page. Il faudrait donc gérer le retour automatique (wordwrap).