birmarco
09-05-2011, 18:07
Ciao a tutti! :) Ho un piccolo problemino, vorrei creare una lista dei file contenuti in un percorso e le relative sottocartelle salvando in un array tutti i percorsi relativi.
Ho scritto questo codice ma ottengo degli errori. Inoltre mi sembra molto macchinoso qualora dovesse funzionare. Avete una soluzione migliore? :)
Function ReadFiles(ByVal path As String, ByRef Lista As ArrayList)
Dim TempFileList As System.Collections.Generic.IEnumerable(Of String) = IO.Directory.EnumerateFiles(path) 'File nel percorso
'Aggiungi file del percorso
For Each FileName As String In TempFileList
MsgBox(FileName)
Lista.Add(FileName)
Next
End Function
Function ReadFolders(ByVal path As String, ByRef Lista As ArrayList)
Dim TempFileList As System.Collections.Generic.IEnumerable(Of String) = IO.Directory.EnumerateDirectories(path) 'Dircetory nel percorso
'Aggiungi directory
For Each FolderName As String In TempFileList
MsgBox(FolderName)
Lista.Add(FolderName)
Next
End Function
Function FileList(ByVal path As String, Optional ByVal Filter As String = "") As ArrayList
Dim FList As ArrayList 'Lista dei file
Dim FolderList As ArrayList 'Lista cartelle da leggere
MsgBox(path)
ReadFiles(path, FList) 'Aggiungi file percorso principale
ReadFolders(path, FolderList) 'Aggiungi cartelle percorso principale
While (FolderList.Count > 0) 'Finchè ci sono cartelle
For Each Folder As String In FolderList
ReadFiles(Folder, FList) 'Aggiungi file della cartella
ReadFolders(Folder, FolderList) 'Aggiungi percorsi sottocartelle
FolderList.Remove(Folder) 'Elimina cartella dai percorsi da esamninare
Next
End While
Return FList
End Function
Grazie a tutti! :D
Ho scritto questo codice ma ottengo degli errori. Inoltre mi sembra molto macchinoso qualora dovesse funzionare. Avete una soluzione migliore? :)
Function ReadFiles(ByVal path As String, ByRef Lista As ArrayList)
Dim TempFileList As System.Collections.Generic.IEnumerable(Of String) = IO.Directory.EnumerateFiles(path) 'File nel percorso
'Aggiungi file del percorso
For Each FileName As String In TempFileList
MsgBox(FileName)
Lista.Add(FileName)
Next
End Function
Function ReadFolders(ByVal path As String, ByRef Lista As ArrayList)
Dim TempFileList As System.Collections.Generic.IEnumerable(Of String) = IO.Directory.EnumerateDirectories(path) 'Dircetory nel percorso
'Aggiungi directory
For Each FolderName As String In TempFileList
MsgBox(FolderName)
Lista.Add(FolderName)
Next
End Function
Function FileList(ByVal path As String, Optional ByVal Filter As String = "") As ArrayList
Dim FList As ArrayList 'Lista dei file
Dim FolderList As ArrayList 'Lista cartelle da leggere
MsgBox(path)
ReadFiles(path, FList) 'Aggiungi file percorso principale
ReadFolders(path, FolderList) 'Aggiungi cartelle percorso principale
While (FolderList.Count > 0) 'Finchè ci sono cartelle
For Each Folder As String In FolderList
ReadFiles(Folder, FList) 'Aggiungi file della cartella
ReadFolders(Folder, FolderList) 'Aggiungi percorsi sottocartelle
FolderList.Remove(Folder) 'Elimina cartella dai percorsi da esamninare
Next
End While
Return FList
End Function
Grazie a tutti! :D