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 :

copie le contenu d'une listview vers un fichier txt


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut copie le contenu d'une listview vers un fichier txt
    Bonjour,

    Je travail sur exercice qui permettra de copier le contenu d'une listviex vers un fichier text en utilisant un fichier indexé.

    La listview contient 4 Colonnes.

    Lorsque je clique sur copie, je constate que mon programme copie la première ligne mais sur la deuxième ligne je reçois une erreur :

    Voici le code utilisé :


    Code vb : 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
    Public Structure trie
            <VBFixedArray(4)> Dim a As Integer
            <VBFixedArray(7)> Dim b As Double
            <VBFixedArray(1)> Dim c As Integer
            <VBFixedArray(1)> Dim d As Char
     
        End Structure
        Dim valeur As Integer
        Dim categorie As trie
        Dim taille As Integer = Len(categorie)
        Dim tabtrie() As trie
     
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            FileOpen(1, "fichier_trie.txt", OpenMode.Random, , , taille)
            Dim last As Integer = FileLen("fichier_trie.txt") / taille
            Dim r As Integer
     
            For r = 0 To ListView1.Items.Count
     
                categorie.a = ListView1.Items(r).Text
                categorie.b = ListView1.Items(r).SubItems(r + 1).Text
                categorie.c = ListView1.Items(r).SubItems(r + 2).Text
                categorie.d = ListView1.Items(r).SubItems(r + 3).Text
     
            Next
     
     
            FilePut(1, categorie, last + 1)
            MsgBox("Copié est bien effectuée")
            FileClose(1)
     
        End Sub

    Voici le message d'erreur reçu:
    La conversion de la chaîne "O" en type 'Integer' n'est pas valide.

    Merci pour l'aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 299
    Points : 330
    Points
    330
    Par défaut
    Bonjour,

    Cela me semble normal que tu aies l'exception vu que tu met du texte (.Text) dans une structure qui comporte des entiers ou des double.

    Si ton ListView contient des valeurs numériques, la conversion arrive à se faire (même si je te recommande d'activer les options strict et explicit).
    Mais VB ne sait pas traduire la lettre O en un entier...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    J'ai réctifié cette partie. voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For r = 0 To ListView1.Items.Count - 1
                Dim last As Integer = FileLen("fichier_trie.txt") / taille
     
                categorie.numeros = ListView1.Items(r).Text
                categorie.Prix = ListView1.Items(r).SubItems(1).Text
                categorie.capcite = ListView1.Items(r).SubItems(2).Text
                categorie.etat = ListView1.Items(r).SubItems(3).Text
     
            Next
    J'ai mon programme qui parcours toute la liste et récupére les données mais il ne les copies pas dans le fichier TXT. Est ce que peut etre une erreur dans la ligne: FilePut(2, categorie, last + 1)?

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 299
    Points : 330
    Points
    330
    Par défaut
    Si tu mets la balise Code, on y verrait mieux...

    Le FilePut, c'est pas du VB6 par hasard ?
    Voit du coté du streamwriter (FAQ) pour écrire dans un fichier.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    FilePut, c'est un vieux reste de VB6 qui n'a été gardé que pour maintenir la compatibilité...
    Utilise plutôt les classes StreamWriter et StreamReader, comme expliqué dans la FAQ :
    http://faqvbnet.developpez.com/?page...adwritetxtfile

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

Discussions similaires

  1. Copie de contenu d'une feuille vers une autre
    Par babanay dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/06/2013, 14h23
  2. exporter le contenu d'une collection vers un fichier EXCEL
    Par john_wili dans le forum Struts 1
    Réponses: 2
    Dernier message: 05/09/2008, 15h16
  3. Réponses: 0
    Dernier message: 24/07/2007, 13h22
  4. Copie du contenu d'une eeprom vers une autre
    Par Aliveli dans le forum C
    Réponses: 9
    Dernier message: 05/06/2007, 18h51

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