Améliorer recup contenu fichier texte dans listbox

Résolu
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 28 avril 2007 à 17:03
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 30 avril 2007 à 12:58
bonjour, le débutant est de retour...

voila mon problème du jour : je veux afficher le contenu d'un fichier texte dans une listbox
et la recuperation du texte se fait bien sauf que les lignes sont cotes à cotes et séparées d'un carré noir
plutot que de garder la mise en page du fichier texte d'origine.

que dois je faire pour améliorer la methode svp ?  et est ce que le composant listbox est le mieux pour recuperer ce genre d'info ?

voici comment je fais (inutile de preciser que je débute dans l'utilisation de ce genre de manip...) :

Dim IdentLog
As
New StreamReader(
"c:\test.txt")

Dim Line
As
String = IdentLog.ReadToEnd
ListBox1.Items.Add(Line)
IdentLog.Close()

merci d'avance.

8 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 avril 2007 à 17:15
Oui c'est normal, parce que tu lis en une seule fois le fichier et tu l'ajoute en une seule fois.

Chaque ligne de la listbox correspond à un item. Il te faut donc ajouter un item pour chaque ligne que tu veux dans la listbox.

Toi, ici, si j'ai bien compris, tu veux un item par ligne du fichier. Il te faut donc lire le fichier ligne par ligne dans une boucle, chaque ligne lue ajoutera un item à la listbox.

Regarde ce code :

        Dim IdentLog As New System.IO.StreamReader("c:\test.txt")
        Dim Line As String

        'Boucle de lecture
        Do
            ' Lecture d'une ligne
            Line = IdentLog.ReadLine
            ' Ajout de la ligne à la listbox
            ListBox1.Items.Add(Line)

        ' teste si fin de fichier, si oui sortie de la boucle
        Loop Until IdentLog.EndOfStream = True

        IdentLog.Close()
 

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 avril 2007 à 17:17
Bonjour ;
Si tu envoies la totalité de ton fichier texte dans un seul élément de ta listbox, ma foi... !
Il te faut le lire ligne par ligne et envoyer séparément chaque ligne par additem...
Ou encore faire un split de ta variable Astring avec VBcrlf et envoyer un par un, dans ta listbox, chaque élément tu tableau généré par le Split.
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
28 avril 2007 à 17:19
simple, clair et EFFICACE !
merci casy , t'es l'homme de la situation.
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 18:33
bonsoir,

je reviens sur ce sujet avec une question complémentaire : comment afficher également les caractères accentués contenus dans le fichier texte ?
il ne sont pas pris en compte par defaut, et malgres mon ami google je trouve pas comment faire..

merci
0

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

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 avril 2007 à 21:05
peut-etre un problème de police

si ton fichier est au format DOS, il te falloir utiliser une police type Terminal

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 avril 2007 à 21:10
un problème de police ou... un problème d'origine du fichier "texte" ... D'où vient-il et par quoi a-t-il été écrit ?
En d'autre termes : qu'y lis-tu en l'ouvrant avec le bloc-notes ? Y vois-tu alors les accents affichés "normalement" ou non ?
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 21:21
c'est un fichier vraiment basic créé par mes bons soins via "clique droit / nouveau document texte" dans l'exploreur windows
et dont le seul but est de m'entrainer (m'apprendre) à manipuler sous vb .

en gros il contient :

poste masterisé société

et donc tous les "é" sautent dans la recup dans la listbox
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
30 avril 2007 à 12:58
bonjour,


pour info c'est résolu (grace à ce forum d'ailleurs)


voici ce qu'il fallait faire pour garder les caractères accentués :


Dim IdentLog
As
New StreamReader(
"c:\windows\identité.log", System.Text.Encoding.Default)


merci. 
0
Rejoignez-nous