Une suite de string Bibliotheque de class [Résolu]

Signaler
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
-
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
-
bonjour,

Je cherche un moyen de mettre en place un tableau ou une list avec 5 string.

j'ai donc essayé :
Public sFichiers As New List(Of String)
je pensais pouvoir mettre
Public sFichiers As New List(Of String,String,String,String,String)
.

la dernière ligne de code est un exemple biensur sa ne fonctionne pas de cette manière.

Vous serez - t il possible de dire comment procéder.

Merci

15 réponses

Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
pourquoi se compliquer avec les colonnes
Tu as defini une structure qui représente
les données à propos d'un fichier
tu as une liste du type de la structure
pour chaque répertoire
pour chaque fichier dans ton répertoire
créer une instance du type de ta structure
assigner et ajouter à ta liste

Structure sComplementFichier 
Dim _NomFichier As String 
Dim _Extenssion As String 
Dim _DateCreation As String 
Dim _DateModification As String 

End Structure 

private maliste As New List(sComplementFichier) 

Public Sub ListerMesRepertoire(ByVal Rep As String)
   Try
     'Récupère la liste des entrées du répertoire  
     Dim Liste As String() = IO.Directory.GetFileSystemEntries(Rep)
For Each Entree In Liste 'Pour chaque entrée de la liste 
' objListFichier est déclaré ici  
  dim objListFichier as new sComplementFichier
  Dim TmpName As String = Entree
  If IO.File.Exists(Entree) Then     'Si c'est un fichier  
      ' sFichiers.Add(TmpName)
        With objListFichier
           ._NomFichier = TmpName
            ._Extenssion = System.IO.Path.GetExtension(Entree)
             ._DateCreation = System.IO.Path.GetDirectoryName(Entree)
            ._DateModification = IO.File.GetLastWriteTime(Entree)
End With

 maliste.add(objListFichier)
                    iCheminFichier += 1
                Else   'Si  c'est un répertoire  
                    sDossiers.Add(Entree)
                    ListerMesRepertoire(Entree) 'On liste le contenue de ce répertoire  

                End If
            Next (Entree)
        Catch Ex As System.UnauthorizedAccessException 'Si le répertoire est interdit  
            Exit Sub
        Catch e As Exception 'en cas d'erreurs  
            MsgBox("Erreur : " & e.Message, MsgBoxStyle.Critical)
        End Try
    End Sub
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Private maliste As New List(Of sComplementFichier)
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
Bonjour,

Tu peux aussi faire :
List(Of List(Of String))
ou
List(Of String())

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonjour

Public sFichiers As New List(Of String)
sFichiers.add("toto1")
sFichiers.add("toto2")
sFichiers.add("toto3")
sFichiers.add("toto4")
sFichiers.add("toto5")

ou
Public sFichiers(4) as string
sFichiers(0) = "toto1"
sFichiers(1) = "toto2"
sFichiers(2) = "toto3"
sFichiers(3) = "toto4"
sFichiers(4) = "toto5"
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
bonjour,

j'avais déjà étudié avec un tableau à par que je ne connais pas la fin du tableau.

l'exemple que vous me présenter et sur 1 dimenssion hors il me faudrait 4 colonnes.


Voila en gros :

 Structure sComplementFichier
        Dim _NomFichier As String
        Dim _Extenssion As String
        Dim _DateCreation As String
        Dim _DateModification As String

    End Structure


Public objListFichier As sComplementFichier


 With objListFichier
                        ._NomFichier = TmpName
                        ._Extenssion = System.IO.Path.GetExtension(Entree)
                        ._DateCreation = System.IO.Path.GetDirectoryName(Entree)
                        ._DateModification = IO.File.GetLastWriteTime(Entree)

                    End With


Il me reste à insérer le tout dans un tableau.

Merci par avance
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
plus simple de faire une list of sComplementFichier

Structure sComplementFichier
Dim _NomFichier As String
Dim _Extenssion As String
Dim _DateCreation As String
Dim _DateModification As String

End Structure

private maliste As New List(sComplementFichier)
pour remplir maliste

dim scp as new sComplementFichier
with scp
._NomFichier = TmpName
._Extenssion = System.IO.Path.GetExtension(Entree)
._DateCreation = System.IO.Path.GetDirectoryName(Entree)
._DateModification = IO.File.GetLastWriteTime(Entree)
end with
maliste.add(scp)

que veux tu faire ?
analyser un dossier ?
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
avec la coloration syntaxique
Structure sComplementFichier 
Dim _NomFichier As String 
Dim _Extenssion As String 
Dim _DateCreation As String 
Dim _DateModification As String 

End Structure 

private maliste As New List(sComplementFichier) 

pour remplir maliste

dim scp as new sComplementFichier 
with scp 
._NomFichier = TmpName 
._Extenssion = System.IO.Path.GetExtension(Entree) 
._DateCreation = System.IO.Path.GetDirectoryName(Entree) 
._DateModification = IO.File.GetLastWriteTime(Entree) 
end with 
maliste.add(scp) 
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
Bonjour,

Effectivement, je parcours dossiers et sous-dossier dans une autre fonction maintenant je souhaite récupérer certain paramètres des fichiers trouvé dans les dossiers.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Comment tu parcours tes dossiers et sous dossiers ?
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
  Public Sub ListerMesRepertoire(ByVal Rep As String)
        Try
            'Récupère la liste des entrées du répertoire  
            Dim Liste As String() = IO.Directory.GetFileSystemEntries(Rep)


            For Each Entree In Liste 'Pour chaque entrée de la liste  

                Dim TmpName As String = Entree
               
                If IO.File.Exists(Entree) Then     'Si c'est un fichier  
                    ' sFichiers.Add(TmpName)
                    With objListFichier
                        ._NomFichier = TmpName
                        ._Extenssion = System.IO.Path.GetExtension(Entree)
                        ._DateCreation = System.IO.Path.GetDirectoryName(Entree)
                        ._DateModification = IO.File.GetLastWriteTime(Entree)

                    End With
                    iCheminFichier += 1
                Else   'Si  c'est un répertoire  
                    sDossiers.Add(Entree)
                    ListerMesRepertoire(Entree) 'On liste le contenue de ce répertoire  

                End If
            Next (Entree)
        Catch Ex As System.UnauthorizedAccessException 'Si le répertoire est interdit  
            Exit Sub
        Catch e As Exception 'en cas d'erreurs  
            MsgBox("Erreur : " & e.Message, MsgBoxStyle.Critical)
        End Try
    End Sub
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
ShayW,

Ton exemple ajoute dans une liste tous les paramètres dans un item or je souhaite vraiment dissocié dans des colonnes différentes :

le nom du fichier
l'extension etc...

je t'explique plus en détail,je travail beaucoup avec les dossiers et fichiers d'un système à chaque fois je dois tout re-taper le code.
Afin de tirer partis des possibilités offerte par vb ,je me suis dit que j'ai cas créer une dll comme çà je l'importe et le tour et joué.

Après je ferai appel au paramètre du (tableau ou list) selon mes besoins.


Par avance merci.
Ps: toutes suggestion au proposition de code et la bienvenu
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
peut -ont faire un tableau de string sans fin,
dim objTab(X,3) as string


comme dans l'exemple ci-dessous a part que je ne connais pas la terminaison du tableau d'ou le "X".

Cours VB.NET
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
238
Bonjour,
un tableau "sans fin" n'existe par définition pas plus que l'infini n'est définissable !
Un tableau re-dimensionnable pour faire face à un nombre accru d'articles : c'est bien évidemment possible
Ouvre msdn sur Redim


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
re bonjour,

déjà merci pour vos explications.

ShayW une erreur "Erreur 1 Arguments de type insuffisants dans 'System.Collections.Generic.List(Of T)'"
pour la déclaration de
private maliste As New List(sComplementFichier) 
Messages postés
453
Date d'inscription
dimanche 20 août 2006
Statut
Membre
Dernière intervention
11 janvier 2013
10
Merci pour votre aide.

Je parviens bien à récupérer les éléments après import de la dll