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 :

Conversion d'un List(Of String) en String possible ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 150
    Par défaut Conversion d'un List(Of String) en String possible ?
    Bonjour à tous, j'ai besoin d'un peu d'aide !

    Donc j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim MyValue As New List(Of KeyValuePair(Of Integer, Double))()
    		Dim Separator As Char = CChar(";")
    		If FilePath IsNot Nothing Then
    			For Each Line As String In System.IO.File.ReadLines(FilePath)
    			    MyValue.Add(New KeyValuePair(Of Integer, Double)(CInt(Line.Split(Separator)(0)), CDbl(Line.Split(Separator)(1))))
    			Next
    		Chart.DataContext = MyValue
    		Else
    			FilePath = Nothing
    		End If
    Ceci me permet d'afficher ce qu'il y a dans FilePath (Fichier Csv affiché sous forme de courbe), donc ce qu'il y a dedans est un string, sauf que j'ai dans une autre fénêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CD.FilePath = CM.ItemsSelected
    et donc ItemsSelected est de type List(Of String), donc FilePath ne reçoit pas de string mais une liste de string... car ItemsSelected reçoit ce que l'utilisateur a sélectionné, ce sont des items dans une listbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			For Each Item As SignalDef In Listbox1.SelectedItems
    				ItemsSelected.Add((Item.SignalPath) + "\" + (Item.SignalName))	
    			Next
    Donc je résume FilePath est une variable globale de type String (Public FilePath As String) et ItemsSelected est aussi une varibale globale de type List(Of String) (Public ItemsSelected As New List(Of String))
    Enfin FilePath reçoit les valeurs de ItemsSelected donc reçoit une liste de string or lui est un string et donc vous me direz pourquoi ne pas déclarer FilePath en List(Of String) ? Parce que dans ma boucle For Each j'utilise ReadAllLines(FilePath) et ReadAllLines n'accepte que des string et pas de List(Of String).
    J'ai pensé a une boucle dans une boucle du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For Each "String" in FilePath 'un truc comme ça...			
                            For Each Line As String In System.IO.File.ReadLines(FilePath)
    			    MyValue.Add(New KeyValuePair(Of Integer, Double)(CInt(Line.Split(Separator)(0)), CDbl(Line.Split(Separator)(1))))
    			Next
     Next
    Qu'en pensez vous svp ?? Besoin d'aide ! Posez moi vos questions si vous n'avez pas compris.

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Pourquoi ne déclares-tu pas une autre propriété (ou champs) de type List(Of String):

    Ensuite tu travailles avec ...... ainsi tu conserves :

    ????

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 150
    Par défaut
    En fait lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CD.FilePath = CM.ItemsSelected
    c'est un lien que je fais entre CM.xaml.vb et CD.xaml.vb je m'explique :

    Dans ma fenêtre A.xaml.vb j'ai un bouton confirme et lorsque je clique sur confirme alors la liste de string stockée dans la variable ItemsSelected est donnée à la variable FilePath.
    ItemsSelected se situe dans CM.xaml.vb et FilePath dans CD.xaml.vb.

    Donc tu me dis de créer une nouvelle variable SelectedItems de type List(Of String) dans CD.xaml.vb ? Mais je crois que ça change rien car dans ma boucle j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Line As String In System.IO.File.ReadLines(FilePath)
    et ReadAllLines ne prend que des strings. Donc il faut que FilePath soit un string. Or dans ItemsSelected je stock une List(Of String) !

    Je sèche... car mm si je créer une nouvelle variable SelectedItems de type List(Of String) dans CD.xaml.vb il faut bien que j'alimente FilePath ???


    Edit :

    J'ai fait ça mais infructueux vu que ReadAllLines ne peut pas lire plusieurs string... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		Dim MyValue As New List(Of KeyValuePair(Of Integer, Double))()
    		Dim Separator As Char = CChar(";")
    		Dim SelectedItems As String = String.Join(" + ", FilePath) 'j'ai essayé comme séparateur " , " mais ne fonctionne pas non plus...
    		If FilePath IsNot Nothing Then
    			For Each Line As String In System.IO.File.ReadLines(SelectedItems)
    			    MyValue.Add(New KeyValuePair(Of Integer, Double)(CInt(Line.Split(Separator)(0)), CDbl(Line.Split(Separator)(1))))
    			Next
    Des idées svp ???!

    Je pense à faire un autre boucle qui dirait de selectionner le 1er string dans SelectedItems, puis le 2nd etc... Quelqu'un voit comment faire ?

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    A ce stade il faut nous donner davantage de contenu car on ne sait pas comment tu fais pour passer tes références entre formulaires WPF :

    - Code complet de CD et CM ?
    - et à quel moment tu ouvres chaque forms, l'action menée donc le code ?

    A mon avis tu as un gros problème de conception dans ton projet (avec autant de form Wpf)...... ou alors tu ne sais pas passer de valeurs entre tes Forms Wpf grâce au constructeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public Class CD
     
        'Tu peux aussi le déclarer en public pour que cette variable soit acessible par la suite durant la durée de vie de l'instance de CD.....
        Private m_Items As List(Of String)
     
        Sub New(Items As List(Of String))
            InitializeComponent()
            m_Items = Items
        End Sub
    End Class
    - Comment déclarer et passer une valeur par le constructeur entre 2 forms

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Dim frmCD As New CD(ListBox1.SelectedItems)
      frmCD.ShowDialog()
    à suivre.....

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2017
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2017
    Messages : 150
    Par défaut
    Bonjour Merci pour tes réponses,

    Donc
    - Code complet de CD et CM ?
    - et à quel moment tu ouvres chaque forms, l'action menée donc le code ?
    Malheureusement je ne peux pas donner le code complet (sinon je l'aurai fait directement) vu que je travaille pour une entreprise connue, le code est donc confidentiel.

    Oui il y a pas mal de form, je n'ai pas compté mais minimum une 20aine (peut être 25), c'est un gros logiciel...

    A mon avis tu as un gros problème de conception dans ton projet (avec autant de form Wpf)...... ou alors tu ne sais pas passer de valeurs entre tes Forms Wpf grâce au constructeur :
    Le projet je ne l'ai pas conçu, je suis dessus depuis décembre et le projet existait déjà. Donc c'est compliqué de rentrer dans un projet en cours...

    Donc je vais voir ce que tu m'as donné et je reviens poster !

    Merci encore.

  6. #6
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Je comprends pour la close de confidentialité.
    Cependant, pourquoi ne pas faire un mini projet exemple (simplifié) car en l'état la problématique se situe entre un fichier .csv (données extraites), une ListBox, 2 variables avec 3 form Wpf ? Tu pourrais reproduire la problématique et je pourrais davantage t'aider si tu communiques ce mini-projet (sans données sensibles bien entendu).
    Le fait de faire des mini-projets résous bien des problèmes liés à la conception ou la compréhension.... Oui certes tu perds un peu de tps mais parfois le jeu en vaut la chandelle.

    A voir,

Discussions similaires

  1. Conversion d'une liste de plusieurs types en une string
    Par Tornade8912 dans le forum Général Python
    Réponses: 2
    Dernier message: 05/07/2016, 15h09
  2. Réponses: 2
    Dernier message: 11/04/2015, 15h56
  3. [D6] Conversion Array of String en String
    Par wizdom dans le forum Delphi
    Réponses: 2
    Dernier message: 23/05/2006, 17h01
  4. conversion d'un type Extended vers un string
    Par matterazzo dans le forum Langage
    Réponses: 2
    Dernier message: 28/10/2005, 19h22
  5. Comparaison d'une liste de string à un string
    Par maxazac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/10/2005, 15h39

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