Soyez le premier à donner votre avis sur cette source.
Snippet vu 6 565 fois - Téléchargée 31 fois
Private Function taillepath(ByVal path As String) As Double Dim dire As DirListBox dire.path = path Dim file As FileListBox file.path = path Dim liste As ListBox liste.Clear taillepath = 0 Dim i As Integer 'dossier i = 0 Do While i < dire.ListCount liste.AddItem dire.List(i) i = i + 1 Loop Do While liste.ListCount 'fichier i = 0 Do While i < File1.ListCount taillepath = taillepath + FileLen(File1.path & "\" & File1.List(i)) i = i + 1 Loop dire.path = liste.List(0) file.path = liste.List(0) liste.RemoveItem (0) i = 0 Do While i < dire.ListCount liste.AddItem dire.List(i) i = i + 1 Loop Loop End Function
9 mai 2005 à 20:55
4 mai 2005 à 12:13
en ce qui concerne la taille du fichier, c'est du au fait que le long VB est signé, or celui de la fonction ne l'est pas. voici le remede :
Taille=Filelen(fichier)
If Taille < 0 Then Taille = 2 ^ 32 + Taille
++
3 mai 2005 à 22:57
pour la solution au probleme, voici le code qui fonctionne...
Private Function taillepath(ByVal path As String) As Double
On Error Resume Next 'il y a des fichier foireux qui tourne sur le pc
Dim dire As DirListBox
Set dire = Controls.Add("VB.DirListBox", "Dir10")
dire.path = path
Dim file As FileListBox
Set file = Controls.Add("VB.FileListBox", "File10")
file.path = path
Dim liste As ListBox
Set liste = Controls.Add("VB.ListBox", "List10")
liste.Clear
taillepath = 0
Dim i As Integer
i = 0
liste.AddItem path
Do While liste.ListCount
'fichier
dire.path = liste.List(0)
dire.Refresh
file.path = liste.List(0)
file.Refresh
'z
liste.RemoveItem (0)
i = 0
Do While i < dire.ListCount
liste.AddItem dire.List(i)
i = i + 1
Loop
i = 0
Do While i < file.ListCount
taillepath = taillepath + FileLen(file.path & "" & file.List(i))
i = i + 1
Loop
Loop
Controls.Remove dire
Controls.Remove file
Controls.Remove liste
End Function
si vous savez la modifier en remplacant avec des autre fonction (dir et compagnie) je suis preneur
en passant, ma fonction est limitee par la taille des fichier (3go ca passe en negatif) qq connaitrait pas un type de donne plus "etendu" du genre qui compte de 0 a 2 tera (ca laisse de la marge pour les fichier lol)
3 mai 2005 à 22:20
3 mai 2005 à 18:50
c vrai dir serait bien mieux adapte, mais c'est une alternative :)
+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.