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 :

une classe ChainesData en string


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut une classe ChainesData en string
    Bonsoir,

    j'aimerai convertir une classe ChainesData en string. le but par rapport une list nom de de chaine dans combobox1, je voudrais afficher l'image et nom dans listview1.
    voir image dans le forum : https://www.developpez.net/forums/d2...mage-listbox1/

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    imgList.Images.Add(ChargerImage((From c As ChainesData In Chaines Where c.LogoURL = ComboBox1.Text Select c).Distinct.ToArray)) <= erreur
            Dim lvi As New ListViewItem("", imgList.Images.Count - 1)
            lvi.ImageIndex = imgList.Images.Count - 1
            lvi.SubItems.Add((From c As ChainesData In Chaines Where  c.GroupTitle = ComboBox1.Text Select c).Distinct.ToArray) <= erreur
            ListView1.Items.Add(lvi)
     
    Private Function ChargerImage(ByVal Liens As String) As Image
            Dim client As New WebClient()
            Using str As Stream = client.OpenRead(Liens)
                Return Image.FromStream(str)
            End Using
        End Function
    message erreur : Erreur Impossible de convertir une valeur de type 'Tableau à 1 dimension(s) de Player2_M3U.ChainesData' en 'String'.

    je suis coincé pour convertir c.GroupTitle = ComboBox1.Text et c.LogoURL = ComboBox1.Text en string. avez-vous une autre solution pour pour convertir en string? merci d'avance

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tu fais un ToArray, donc forcément en sortie t'as pas une string, puisque tu as un array de ChainesData.

    Soit tu écrit un convertisseur pour transformer un array de chainesdata en string, soit tu récupères que la première ligne du array que tu convertis en string (en supposant que tu as déjà un convertisseur de ChainesData en string)

  3. #3
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 737
    Par défaut
    Bonjour,

    Le plus simple est à mon avis d'utiliser un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim ChaineEnSortie As String = String.Join("CaractereDeSeparation", array)
    Où CaractereDeSeparation est le caractère que tu veux mettre entre les différents éléments, une virgule, un point, rien, ce que tu veux...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonjour,

    le code fonctionne avec string.join. je vous remercie pour cette avancement. avez-vous plus simple le maitre chaque nom sur une ligne a la fois? merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Function ListChaines2(name As String) As String
            Dim ListName As IEnumerable(Of Object) = (From c As ChainesData In Chaines Where c.GroupTitle = name Select c).Distinct.ToArray
            Return String.Join(" ", ListName)
        End Function
    voici en image :
    Nom : Capture d’écran 2023-01-19 143345.png
Affichages : 129
Taille : 6,7 Ko

  5. #5
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 737
    Par défaut
    Pas certain que çà fonctionne dans ton interface, mais tu peux essayer de mettre un chr(10) comme séparateur au lieu du blanc.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonsoir,

    j'ai refaire mon code pour lire par rapport le nom dans combobox1. mais j'arrive toujours pas à lister le nom par rapport au nom dans combobox1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Function ListChaines(Name As String) As String
            Dim str As New List(Of String)
            For Each a As ChainesData In Chaines
                str.AddRange(a.GroupTitle.Where(Function(c) c.Equals(Name)).Distinct.ToArray) <= erreur
            Next
            Return str(str.Count - 1)
        End Function

    avec addrange, j'ai un message d'erreur : Impossible d'effectuer un cast d'un objet de type 'System.Char[]' en type 'System.Collections.Generic.IEnumerable`1[System.String]'.

    avec add ; rien ce passe dans listview1.

    avez-vous une autre solution pour corriger cette erreur? merci d'avance

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

Discussions similaires

  1. Encoder une String en HTML dans une classe
    Par joKED dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/07/2007, 16h33
  2. pb d’utilisation de string dans une classe
    Par HadiNET dans le forum C++
    Réponses: 7
    Dernier message: 01/03/2007, 19h08
  3. Réponses: 3
    Dernier message: 25/02/2007, 18h49
  4. Réponses: 7
    Dernier message: 01/09/2006, 14h19
  5. [Débutant(e)]Instancier une classe connaissant son nom (String)
    Par Invité dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 17/06/2005, 11h05

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