vbtom
Messages postés229Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention 5 octobre 2003
-
21 févr. 2002 à 21:26
vbtom
Messages postés229Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention 5 octobre 2003
-
22 févr. 2002 à 12:34
kelkun pourrait me dire pourquoi cette fonction recursives plante lapplication si jenleve les "'"???
Et mem si elle marche au bout dun bon moment les fichiers napparaissent pas au fur et a mseure dans la liste mais tous d'un coup...
Est ce du a la lenteur naturelle du VB???
LE CODE:
Option Explicit
Dim FSO() As Object
Dim File()
Dim Folder()
Dim MyFolder()
Dim ThisRow()
Dim IFSO As Integer
Private Sub Command1_Click()
AllFilesInThisFolder ("c:")
MsgBox "Finit!"
End Sub
Function AllFilesInThisFolder(wFolder)
IFSO = IFSO + 1
ReDim FSO(IFSO)
Set FSO(IFSO) = CreateObject("Scripting.FileSystemObject")
ReDim MyFolder(IFSO)
Set MyFolder(IFSO) = FSO(IFSO).GetFolder(wFolder)
ReDim File(IFSO)
ReDim ThisRow(IFSO)
For Each File(IFSO) In MyFolder(IFSO).Files
'Set ThisRow(IFSO) = LWFiles.ListItems.Add(, , File(IFSO).Name)
'ThisRow(IFSO).SubItems(1) = File(IFSO).parentfolder
'ThisRow(IFSO).SubItems(2) = File(IFSO).Size
Next
ReDim Folder(IFSO)
For Each Folder(IFSO) In MyFolder(IFSO).SubFolders
AllFilesInThisFolder (Folder(IFSO).Path)
Next
Set FSO(IFSO) = Nothing
Set File(IFSO) = Nothing
Set Folder(IFSO) = Nothing
End Function
NitRic
Messages postés402Date d'inscriptionmardi 1 mai 2001StatutMembreDernière intervention15 août 2011 22 févr. 2002 à 07:50
Pour commencer FSO est 'beaucoup' plus lent que Dir() et les API's FindFirstFile(), FindNextFile() et FindClose(), le plus rapide sont les API's. Deuxièmement oui c normal que ca n'affiche pas en 'temps réel' le nom des fichiers, tu pourrais ajouter un DoEvents mais ca ralentirait ou tu pourrais essayer avec TaList.Refresh ... Si tu veux un exemple avec les API's regarde sur le site j'en ai mit un exemple, FindFile ...