Calculer la taille d'un dossier et ser sou_répértoires version 2

Soyez le premier à donner votre avis sur cette source.

Vue 4 812 fois - Téléchargée 334 fois

Description

Viola pour calculer la taille d'un répértoire j'ai envoyé un code ("CALCULER LA TAILLE D'UN DOSSIER ET SER SOU_RÉPÉRTOIRES")utilisant la récursivité comme fonction dite :Calculer_LaTaille_du_répértoire.
en utilisant l'événement click d'un bouton dont le nom est "Bttaille" et FolderBrowserDialog dont le nom est Fbd j'arrive à connaitre la taille de n'importe quel répértoire .voila tout est résumé dans le code suivant.
aprés avoir lu les commentaires sur ce travail,je vois qu'il ya une autre façon de proceder .
au lieu d'une fonction récusive j'utilise une fonction public dans un module.
la méthode qui se charge de la récursion est traduite par GetFiles avec SearchOption.AllDirectories utilisé dans cette fonction.

Source / Exemple :


Ceci dans un module
Imports System.IO
Module Generalites
    'la méthode qui se charge de la récursion (dans la fonction recusive précédante)  est traduite par GetFiles avec SearchOption.AllDirectories utilisé dans cette fonction.
    Public Function Calculer_LaTaille_du_répértoire(ByVal MonChemin As String) As Long
        Dim Taille As Long = 0
        Dim directoryInfo As New DirectoryInfo(MonChemin)
        Dim files As IEnumerable(Of FileInfo) = directoryInfo.GetFiles("*", SearchOption.AllDirectories)
        For Each file As FileInfo In files
            Taille += file.Length
        Next

        Return Taille
    End Function
End Module
ceci dans une form

Public Class Form1
    Dim Chemin As String
    Dim v, TailleTotale As Double
    Dim Dossiers, Fichiers, Dossier
    Private Sub BtCalculerLaTaille_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtCalculerLaTaille.Click
        v = 0
        TailleTotale = 0

        TailleTotale = Calculer_LaTaille_du_répértoire(Chemin)
        MsgBox("La taille de Votre répértoire est : " & TailleTotale.ToString & " Oct.", vbInformation, "Calculer La taille d'un Répértoire")
    End Sub

    Private Sub Btparcourir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Btparcourir.Click
        Fbd.ShowDialog()
        Chemin = Fbd.SelectedPath
        txtChemin.Text = Chemin
    End Sub
End Class

Conclusion :


a vos commentaires chers amis.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Adn56
Messages postés
1220
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1 -
salut,
Toujours pareil au niveau des remarques. (codix !)
pourquoi V et taille total sont en double ? tu as des répertoires de 12,5 octets ? De plus V ne sert à rien ? Pour finir c'est mieux mais regarde bien :
tailletotale as double = ta fonction qui te retourne un long.... Conversion implicite ! place option strict et explicit à on pour voir les erreurs.
Sinon c'est déja mieux que la première, en revanche met à jour celle ci dans ce post, ne crée pas un nouveau sujet à chaque modif ;)
bonne continuation.
cs_310
Messages postés
21
Date d'inscription
dimanche 6 août 2006
Statut
Membre
Dernière intervention
28 avril 2012
-
Merçi pour tes remarques bien placées , je vais en tenir compte .et encore merçi.
debutemps
Messages postés
34
Date d'inscription
jeudi 7 juin 2012
Statut
Membre
Dernière intervention
14 juin 2012
1 -
bonjour,
je me demande si ça va pas poser un problème de droits si on tente de traverser un repertoire sur lequel on n'a pas les autorisations ?
quelqu'un a déja testé ça ?
si non ton code devient bon, aller du courage
Bonjour,
Merci pour ce code.
Pour répondre a la question des droits d'accès, effectivement ça pose un problème. Personnellement, la fenêtre d'erreur m'indiquait les répertoires que je n'avais pas accès. Etant administrateur, j'ai fait le nécessaire et j'ai bien un retour de la taille des dossiers.
A+

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.