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 :

comment lire la deuxième ligne d'un .txt?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Amateur vb.net
    Inscrit en
    Avril 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Amateur vb.net
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 99
    Par défaut comment lire la deuxième ligne d'un .txt?
    Bonjour,
    je voudrais pouvoir afficher des attributs d'un produit (je programme un jeux avec un magasin). C'est à dire que si on clique sur notre produit dans une list box des propriétés (description, effet, prix) s'affiche dans des labels. Toutes les propriétés seront notés dans des fichiers .txt. Mais pour éviter trop de travail, j'aimerai mettre dans le fichier correspondant au produit:
    -la description (première ligne)
    -les effets (deuxième ligne)
    -le prix (troisième ligne)

    Seulement voilà pour lire une seule ligne , c'est simple, on fait [variable].readline. Mais cela va toujours répéter la même ligne.

    Donc ce que j'aimerais savoir, c'est comment lire seulement la deuxième ou troisième ligne du fichier.

    Voici un exemple de code que j'ai trouvé mais la première ligne est toujours répétée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
            Dim descriptionun As New System.IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Zune\test\collierdours.txt")
            Dim description = descriptionun.ReadLine
            Label1.Text = description
            descriptionun.Close()
            Dim effetun As New System.IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Zune\test\collierdours.txt")
            Dim effet = effetun.ReadLine
            Label2.Text = effet
            effetun.Close()
            Dim prixun As New System.IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Zune\test\collierdours.txt")
            Dim prix = prixun.ReadLine
            Label3.Text = prix
            prixun.Close()

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim stream As New System.IO.StreamReader(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) & "\Zune\test\collierdours.txt")
     Dim description = stream.ReadLine
     Label1.Text = description
     Dim effet = stream.ReadLine
     Label2.Text = effet
     Dim prix = stream.ReadLine
     Label3.Text = prix
     stream.Close()

  3. #3
    Membre confirmé
    Homme Profil pro
    Amateur vb.net
    Inscrit en
    Avril 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Amateur vb.net
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 99
    Par défaut
    Merci pour ton aide. j'aimerais aussi faire en sorte de déclarer une variable "prix" (par exemple) puis pour chaque article, la variable est égale à la troisième ligne du fichier de l'article (qui correspond au prix).
    Comment peut-on faire cela?

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : autre
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Il suffit d'appeler ReadLine autant de fois que nécessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim stream As New System.IO.StreamReader("collierdours.txt") ' ouverture du fichier
     Dim description = stream.ReadLine 'description = première ligne du fichier
     Dim effet = stream.ReadLine ' effet = deuxième ligne du fichier
     Dim prix = stream.ReadLine ' prix = troisième ligne du fichier
     stream.Close() ' fermeture du fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    Amateur vb.net
    Inscrit en
    Avril 2012
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Amateur vb.net
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 99
    Par défaut
    Ce n'est pas ce que je veux dire. Il y a une listBox avec des produits dedans. Lorsque qu'on sélectionne un produit , les informations s'affiche dans des labels (descriptiOn, effets, prix). Ces informations sont contenues dans des fichiers. Mais je veux des variables qu'on declarent pour la description, les effets, le prix. Et on dit pour chaque produit le fichier a lire et qu'il sait qu'il doit lire les trois lignes unes a unes affichées dans des labels différents. Est-ce possible?

  6. #6
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Salut
    D'abord
    j'aurais créer le fichier comme ça
    nom du produit
    description
    effet
    prix


    dans le code
    déclarer une class produit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Public Class produit
            Public name As String
            Public description As String
            Public effet As String
            Public price As String
        End Class
     
      'une liste de la class produit
     
       Public listproduit As New List(Of produit)
     
        'une sub qui lit le fichier dans la liste 
     
        Private Sub ReadlistProduit(ByVal pathfichier As String)
            Dim product As New produit
            Try
                Dim sr As New StreamReader(New FileStream(pathfichier, FileMode.Open, FileAccess.Read))
                Do While sr.Peek <> -1
                    product.name = sr.ReadLine
                    product.description = sr.ReadLine
                    product.effet = sr.ReadLine
                    product.price = sr.ReadLine
                    listproduit.Add(product)
                Loop
            Catch ex As Exception
                'en cas d'exception affiche l'erreur 
                MessageBox.Show(ex.Message)
            End Try
     
        End Sub
     
      ' une fonction pour chercher les détails dans la liste
      Private Function GetProductDetails(ByVal productname As String) As produit
            Dim item As New produit
            For Each item In listproduit
                If item.name = productname Then
                    Exit For
                End If
            Next
            Return item
        End Function

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/04/2009, 19h04
  2. [Batch] - Comment lire un fichier ligne par ligne ?
    Par koKoTis dans le forum FAQs Windows
    Réponses: 0
    Dernier message: 25/04/2008, 11h18
  3. Comment lire la dernière ligne d'un fichier text.
    Par Ardely dans le forum Delphi
    Réponses: 29
    Dernier message: 20/01/2007, 23h29
  4. Comment lire une seul ligne d'un fichier texte?
    Par Julien1987 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/01/2007, 13h36

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