VB.NET - Comment créer une Lamda d'une variable Arraylist vers String ?

Résolu
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 5 mars 2011 à 14:30
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 5 mars 2011 à 16:20
Bonjour,

comment créer une expression Lamda de la variable myFilters qui concaténerait ses entrées pour myBrowse.Filter ?.

    Function ParcourirUnFichier() As String
        Dim myBrowse As OpenFileDialog = New OpenFileDialog
        Dim myFilters As New ArrayList

        myBrowse.Title = "Ajouter un fichier..."
        myFilters.Add("Tous les fichiers (*.*)|*.*")
        myFilters.Add("Executables (*.exe)|*.exe")
        myFilters.Add("Dynamic Link Library (*.dll)|*.dll")
        'LAMDA ? myBrowse.Filter = myFilters.ToArray.ToLookup(Sub() myFilters.Item) ?
        myBrowse.Filter = myFilters.ToArray
        myBrowse.FilterIndex = 1
        myBrowse.RestoreDirectory = True
        If myBrowse.ShowDialog() <> DialogResult.OK Then
            myFilters = Nothing
            Return Nothing
        Else
            myFilters = Nothing
            Return myBrowse.FileName
        End If
    End Function

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 mars 2011 à 14:40
Bonjour,

Changes un peu la déclaration :
Dim myFilters As New List(Of String)


Ensuite pour concaténer le tout :
MaVar=String.Join(myFilters.ToArray,"|"c)

Mon site
3
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
5 mars 2011 à 16:20
Merci Henry !
Que ton code soi en paix ^^

    Function ParcourirUnFichier() As String
        Dim myBrowse As OpenFileDialog = New OpenFileDialog
        Dim myFilters As New List(Of String)

        myBrowse.Title = "Ajouter un fichier..."
        myFilters.Add("Tous les fichiers (*.*)|*.*|" & ControlChars.Tab)
        myFilters.Add("Executables (*.exe)|*.exe|" & ControlChars.Tab)
        myFilters.Add("Dynamic Link Library (*.dll)|*.dll")
        myBrowse.Filter = String.Join(ControlChars.Tab, myFilters)
        myBrowse.Filter = myBrowse.Filter.Replace(ControlChars.Tab, "")
        myBrowse.FilterIndex = 1
        myBrowse.RestoreDirectory = True
        If myBrowse.ShowDialog() <> DialogResult.OK Then
            myFilters = Nothing
            Return Nothing
        Else
            myFilters = Nothing
            Return myBrowse.FileName
        End If
    End Function
0
Rejoignez-nous