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 :

Afficher seulement une partie des caractères dans une listwiev [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Points : 61
    Points
    61
    Par défaut Afficher seulement une partie des caractères dans une listwiev
    Bonsoir,

    Avec visual basic 2010 expresse, j'ai une listewiev que je remplit de la manière suivante avec les noms des fichiers qui des trouve dans un répertoire et ses sous répertoires.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Remplit lvCatalogue
            LvCatalogue.Items.Clear()
            Dim resultat2 As String
            For Each fileName As String In fileNames
                resultat2 = IO.Path.GetFileNameWithoutExtension(fileName)
                LvCatalogue.Items.Add(resultat2)
                LvCatalogue.Items(LvCatalogue.Items.Count - 1).SubItems.Add(resultat2)
            Next
    ceci fonctione bien. Dans mes 2 colonnes j'ai le nom complet des fichiersqui sont tous enregistrés dela manière suivantes : NOM DE L'ARTISTE - Nom du titre.

    J'aimerais bien pouvoir afficher dans la première colonne le NOM DE l'artiste et dans la seconde le nom du titre.

    Je sais qu'il y a une méthode avec la recherche d'un caratèr dans une chaune mais je ne vois pas comment l'appliquer a ce que je voudrais faire.

    Je pense que l'idéal serait de fair une recherche dur le tiret qui sépare le nom de l'artiste et le nom du titre pui de dire de retirer pour la première colonne tout ce qui après et pour la seconde tout ce qui est avant.

    Maintenat comment cela se code-t-il ?

    Merci par avance pour vos réponses.

    @+ Martipit

  2. #2
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Salut Martipit,

    Tu peux essayer comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim filename As String = "First Serve - Must B The Music" ' <-- !!
     
            Dim parts As String() = filename.Split({"-"}, StringSplitOptions.RemoveEmptyEntries)
     
            Dim artist As String = parts(0)
            Dim song As String = parts(1)
    Ici j'utilise la méthode String.Split qui:
    Retourne un tableau String contenant les sous-chaînes de cette instance qui sont délimitées par les éléments d'un tableau Char ou String donné.
    Edit: Oups.. il commence à se faire tard -> String.Split <-

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Salut -N4w4k-

    J'ai tenté de transposer ton code avec le mien mais rien à faire. pas moyen d'obtenir ce que je veux.

    Merci pour ton aide.

    @+ Martipit

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Salut

    Après quelques tests et divers essais, j'ai obtenu une partie de ce que je voulais avec ce code. j'arrive à obtenir le nom de l'artiste dans la premieère colonne de la listview :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim filenames = My.Computer.FileSystem.GetFiles(TbCheminFichiers.Text + "\", FileIO.SearchOption.SearchAllSubDirectories, "*.*")
            For Each fileName As String In filenames
                Dim parts As String() = fileName.Split({"-"}, StringSplitOptions.RemoveEmptyEntries)
                Dim artiste As String = IO.Path.GetFileNameWithoutExtension(parts(0))
                Dim music As String = IO.Path.GetFileNameWithoutExtension(parts(1))
                ListView1.Items.Add(artiste)
                ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(music)
            Next
    Par contre pour la seconde colonne, avec ce code j'a i un erreur qui me dit que l'index se trouve en dehors des limites du tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim music As String = IO.Path.GetFileNameWithoutExtension(parts(1))
    Je ne vois pas ce qui pourrait clocher.

    Si vous avez quelques pistes je suis preneur

    @+ Martipit

  5. #5
    Membre éclairé Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Points : 801
    Points
    801
    Par défaut
    Salut,

    Essaie ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            Dim filename As String = "C:/dossier quelconque/Artist - music.mp3"
            filename = IO.Path.GetFileNameWithoutExtension(filename)
            Dim parts As String() = filename.Split("-")
            Dim artiste As String = parts(0).Trim
            Dim music As String = parts(1).Trim
     
            Dim item As New ListViewItem
            ListView1.Items.Add(item)
            item.Text = artiste
            item.SubItems.Add(music)
    ça marche chez moi..

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Salut -N4w4k-

    Taton code fonctionne impecc.

    Le premier aussi d'ailleur en fait, il y avait un fichier qui n'était pas très bien enregistré. J'ai repris tout ça et les 2 codes fonctionnent nickel.

    Merci pour ton aide.

    @+ Martipit

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

Discussions similaires

  1. [XL-2007] couper une partie des données dans une autre colonne
    Par ivan_isaak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/11/2011, 10h06
  2. Réponses: 0
    Dernier message: 30/03/2011, 15h11
  3. Extraire une partie des caractères d'une URL ?
    Par Mister Paul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/03/2009, 16h18
  4. Afficher des informations dans une bulle au survol d'une partie d'une carte
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/06/2008, 08h43
  5. Réponses: 2
    Dernier message: 24/03/2008, 23h00

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