Competer code source

Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007 - 21 août 2006 à 22:37
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007 - 23 août 2006 à 00:17
Salut j'aurais voulu savoir si quelqun pourait utiliser ce code source
et renvoyer les resultats dans un ListBox plutot que dans un tableau (
en plus je sais pas comment ca marche )

11 réponses

Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
21 août 2006 à 22:46
<ol class="csCode">
<li>
Private

Sub
Recursive(ByRef
files
As
String
(), ByVal file As
String
, ByVal chemin As
String
)</li>
<li> </li>
<li>
<samp>'## files est le tableau des fichiers trouvés.</samp>
</li>
<li>
<samp>'## file est la structure utilisée pour la recherche.</samp>
</li>
<li>
<samp>'## chemin est le répertoire de base dans lequel s'effectue la recherche.</samp>
</li>
<li> </li>
<li>        
Dim
souschemins As
String
() <samp>'## Ensemble des sous-répertoire du répertoire chemin.</samp></li>
<li>        
Dim
souschemin As
String
<samp>'## Sous-répertoire dans lequel se poursuit la recherche.</samp></li>
<li>        
Dim
fichiers As
String
() <samp>'## Ensemble des fichiers trouvés dans le répertoire </samp></li>
<li>                                    <samp>'## chemin et correspondant à la structure file.</samp></li>
<li>                                    <samp>'## Il correspond au tableau files mais pour le </samp></li>
<li>                                    <samp>'## répertoire en cours de traitement.</samp></li>
<li>        
Dim
i As Integer <samp>'## Compteur des fichiers trouvés dans le répertoire en </samp></li>
<li>                                    <samp>'## cours de traitement.</samp></li>
<li>        
Dim
dimens As Integer <samp>'## Dimension du tableau files avant qu'il soit </samp></li>
<li>                                    <samp>'## redimensionné.</samp></li>
<li> </li>
<li>        fichiers = System.IO.Directory.GetFileSystemEntries(chemin, file)</li>
<li>        
If
fichiers.Length > 0
Then
</li>
<li>            
If
files
Is Nothing
Then
</li>
<li>                
ReDim
files
(fichiers.Length - 1)</li>
<li>            
Else
</li>
<li>                dimens =
files
.Length</li>
<li>                
ReDim
Preserve
files
(
files
.Length + fichiers.Length - 1)</li>
<li>            
End
If
</li>
<li> </li>
<li>            
For
i = 0 To fichiers.Length - 1</li>
<li>                
files
(dimens + i) = fichiers(i)</li>
<li>            
Next
</li>
<li>            souschemins = System.IO.Directory.GetDirectories(chemin)</li>
<li>            
For
Each souschemin In souschemins</li>
<li>                Recursive(
files
, file, souschemin)</li>
<li>            
Next
</li>
<li>        
End
If
</li>
<li>    
End
Sub
</li>
</ol>
je croi ke je me suis mal exprimé je voudrais que quelqun modifie le code pour recuperer les resultats dans un ListBox
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 août 2006 à 23:15
Salut
C'est simple : Regarder dans l'aide du ListBox pour savoir comment additionner des items + faire une boucle de chaque item de ton tableau (For-Next).
Commence par chercher et comprendre avant de poser des questions.
Toutes les réponses sont aussi dans n'importe quelle source de ce site dans lesquels il y a une ListBox

Vala
Jack, MVP VB, ralou ce soir.
NB : Je ne répondrai pas aux messages privés
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
21 août 2006 à 23:21
Je sais commen ajouter des items mais je suis debutant et je ne sais
même pa ce que c'est un tableau donc je voi pa comment je pourai
modifier la fonction moi même donc c'est pour ca que je demande
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
22 août 2006 à 00:36
désolé mais c'est parceque j'ai vraiment besoi je ne sais pa comment envoyer les resultats du tableu dans un ListBox
0

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

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 août 2006 à 00:54
Re,

Une fois cette procédure lancée, fait ceci (approximatif, je fais du vb6, pas de vb.net) :

Dim i As Long

For i = 1 To UBound(files)
    TonListBox.AddItem files(i)
Next i

A adapter !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
22 août 2006 à 00:59
ca marche pas

en parametre j'ai mis ca:

Recursive(tab, "*.mp3", "D:")

sur D j'ai tous mes mp3 et i bloque sur listbox1.items.add tab(i)

je sais pas pourquoi
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
22 août 2006 à 01:48
personne n'a d'idée de pourquoi ca marche pa ?
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
22 août 2006 à 07:43
Plusieurs possibilités :

- tab n'est pas un tableau


- i dépasse le nombre d'éléments du tableau, ou est négatif
- listbox1 n'existe pas

Manu

--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
22 août 2006 à 11:21
tab est un tableau a une dimension de string

i va de 1 a ubound donc j pense pas qu'il puisse etre negatif ou depasser le nombre d'elements

listbox1 existe
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
22 août 2006 à 18:42
Et "ça marche pas" ne voulant rien dire, dis nous plutôt :
- si tu as un code d'erreur et le texte descriptif de l'erreur
- si tu passes dans ton code (on ne sait jamais dees fois que tu passes par dessus)
0
Kuni59 Messages postés 42 Date d'inscription lundi 24 octobre 2005 Statut Membre Dernière intervention 1 février 2007
23 août 2006 à 00:17
je vais faire un copié collé de mon code ce sera plus simple je pense


Public Class Form1


    Private Sub Recursive(ByVal files As String(), ByVal file As String, ByVal chemin As String)


        '## files est le tableau des fichiers trouvés.

        '## file est la structure utilisée pour la recherche.

        '## chemin est le répertoire de base dans lequel s'effectue la recherche.


        Dim souschemins As String() '## Ensemble des sous-répertoire du répertoire chemin.

        Dim souschemin As String '## Sous-répertoire dans lequel se poursuit la recherche.

        Dim fichiers As String() '## Ensemble des fichiers trouvés dans le répertoire

        '## chemin et correspondant à la structure file.

        '## Il correspond au tableau files mais pour le

        '## répertoire en cours de traitement.

        Dim i As Integer '## Compteur des fichiers trouvés dans le répertoire en

        '## cours de traitement.

        Dim dimens As Integer '## Dimension du tableau files avant qu'il soit

        '## redimensionné.


        fichiers = System.IO.Directory.GetFileSystemEntries(chemin, file)

        If fichiers.Length > 0 Then

            If files Is Nothing Then

                ReDim files(fichiers.Length - 1)

            Else

                dimens = files.Length

               
ReDim Preserve files(files.Length + fichiers.Length - 1)

            End If


            For i = 0 To fichiers.Length - 1

                files(dimens + i) = fichiers(i)

            Next

            souschemins = System.IO.Directory.GetDirectories(chemin)

            For Each souschemin In souschemins

                Recursive(files, file, souschemin)

            Next

        End If

    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim tab(5) As String

        Recursive(tab, "*.mp3", "D:")

        'on vide la liste

        ListBox1.Items.Clear()


        Dim i As Long


        For i = 1 To UBound(tab)

            ListBox1.Items.Add(tab(i))

        Next i

    End Sub


End Class


et le message d'erreur est:


La valeur ne peut pas être null.

Nom du paramètre : item


autrement dit le tableau est vide (alors que j'ai plus de 150go de mp3 sur ce disque)
0
Rejoignez-nous