IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Lecture d' un fichier texte pour ListBox [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut Lecture d' un fichier texte pour ListBox
    Bonjour,

    Je bute depuis un certain moment sur un petit problème.

    Je dispose de plusieurs Listbox (8 au total) et j' ai un fichier texte dans lequel j' ai inscrit ligne par ligne le contenu des Listbox :
    pour que se soit plus compréhensible, je vais vous donné un exemple :

    Listbox1 :
    1
    2
    3
    Listbox2 :
    Bonjour
    Salut
    Ca va
    et mon document texte est écrit comme ceci :
    1
    2
    3

    Bonjour
    Salut
    Ca va
    etc...

    Mon problème est que je souhaite, en cliquant sur un bouton, retrouvé les valeur dans mes listBox.
    J' utilise l' instruction Readline mais je ne sais pas comment dire au programme de passer au paragraphe suivant dès qu' il rencontre un saut de ligne et de compléter la ListBox suivante avec ce paragraphe.

    En espérant que vous ayez compris ma question...

    Merci d' avance !!!

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Pour faciliter la procédure, modifier le fichier ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Listbox1:1
    Listbox1:2
    Listbox1:3
    Listbox2:Bonjour
    Listbox2:Salut
    ...
    Après le readline, faire un Split sur la string lue pour récupérer le nom de la ListBox et la valeur à rajouter dans ses items.
    Caster en listbox "Me.Controls(ListBoxName)" en utilisant CType.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Bonjour,

    Je vous remercie beaucoup de votre réponse.

    Cependant, je comprend bien la façon dont je doit écrire mes listbox dans mon .txt :
    Listbox1:1
    Listbox1:2
    Listbox1:3
    Listbox2:Bonjour
    Listbox2:Salut
    Listbox2:Ca va
    Mais je ne comprend pas la manière de récupérer le nom de la listBox...

    Merci !!!!

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Comme ceci ? (je ne code pas en vb.net)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim textLine As String() = MyStreamReader.ReadLine().Split(":")
    Dim listBoxName As String = textLine(0)
    Dim listBoxValue As String = textLine(1)
    Dim listBox As ListBox = DirectCast(Me.Controls(listBoxName),ListBox)
    listBox.Items.Add(listBoxValue)
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Merci beaucoup , je teste et je vous dit !

    NB: je ne connaissait pas la fonction Split !!!

  6. #6
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Voila j' ai essayé mais j' ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim sr As New StreamReader(ofd.FileName)
                    Dim Split1
                    Dim ListValue As String
                    Dim ListItm As String
    
                    While sr.Peek >= 0
                        Split1 = sr.ReadLine.Split(":")
                        ListValue = Split1(0)
                        ListItm = Split1(1)
                        Dim listBox As ListBox = DirectCast(Me.Controls(ListValue), ListBox)
                        listBox.Items.Add(ListItm)
                    End While
    Il me sort l'erreur : L' exception NullReferenceException n' a pas pus être géré, en me surlignant ListBox.Items.Add(ListItm)

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    La raison la plus probable est que la ListBox identifiée par ListValue ne soit pas directement dans la Form , mais dans un container (Panel, TabPage, ...).
    Dans ce cas, remplacer "Me" par le container parent des ListBox.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  8. #8
    Membre du Club Avatar de Cybercope
    Homme Profil pro
    Programmeur amateur
    Inscrit en
    Mai 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Programmeur amateur

    Informations forums :
    Inscription : Mai 2014
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Problème résolu merci beaucoup !!! J' ai remplacer Me par Tabpage1 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/10/2011, 12h17
  2. [FPDF] Indiquer le chemin pour lecture d'1 fichier texte
    Par paintbox dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/12/2010, 11h45
  3. [C#] Lecture d'un fichier texte (farfelu)
    Par choas dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/04/2005, 14h33
  4. Lecture d'un fichier Texte
    Par jcharles dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/10/2004, 14h58
  5. Stockage de données & lecture d'un fichier texte
    Par petitours dans le forum C++Builder
    Réponses: 6
    Dernier message: 13/03/2004, 14h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo