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.
A voir également:

8 réponses

cs_casy
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
7668
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
41
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
7668
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