Une suite de string Bibliotheque de class

Résolu
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 - 20 févr. 2012 à 08:56
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 20 févr. 2012 à 20:20
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

cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 13:24
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
3
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 14:36
Private maliste As New List(Of sComplementFichier)
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
20 févr. 2012 à 20:20
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
1
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 09:16
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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 09:27
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
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 10:22
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 ?
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 10:25
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) 
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 10:46
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.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
20 févr. 2012 à 11:17
Comment tu parcours tes dossiers et sous dossiers ?
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 12:14
  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
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 12:24
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
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 12:29
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 févr. 2012 à 12:57
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
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 14:27
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) 
0
scromania Messages postés 452 Date d'inscription dimanche 20 août 2006 Statut Membre Dernière intervention 11 janvier 2013 9
20 févr. 2012 à 15:27
Merci pour votre aide.

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