CALCULER LA TAILLE D'UN DOSSIER ET SER SOU_RÉPÉRTOIRES

Signaler
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
-
Messages postés
21
Date d'inscription
dimanche 6 août 2006
Statut
Membre
Dernière intervention
28 avril 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54220-calculer-la-taille-d-un-dossier-et-ser-sou-repertoires

Messages postés
21
Date d'inscription
dimanche 6 août 2006
Statut
Membre
Dernière intervention
28 avril 2012

bonjour
pour ceux qui n'aiment as la récrsivité ,je vous invite à voir le nouveau code utilisant simplement une seule fonction public dans un module:
CALCULER LA TAILLE D'UN DOSSIER ET SER SOU_RÉPÉRTOIRES VERSION 2
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Multiprise,

De nos jours, les compilateurs optimisent ce type de comportement dans un programme, certes cela fait des appels, sur des appels, mais ne pose que rarement problème (sauf dans le cas d'une récursion infinie).
Ce type de solution est souvent plus esthétique et maintenable que de passer par d'autres méthodes.

Si en pas à pas, tu vois les différents appels, rien en dit si en exécution c'est traduit de la même manière.
Messages postés
63
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2013

Petite remarque, une procédure ou une fonction qui s'appelle en boucle (dite récursive), conduit la plupart du temps à un dépassement de pile si le nombre de boucles est important, fais un test en pas à pas et regarde l'état de la pile à chacun des appels, c'est édifiant. Une solution plus élégante et surtout beaucoups moins dévoreuse de ressources, serait de faire appel à une fonction externe à laquel seront transmis les paramètres nécessaires. Ce n'est pas très grave dans un programme simple de quelques lignes, mais cela le devient lorsque la mémoire est très sollicitée dans un programme plus complexe.
Messages postés
373
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013

Pour GABILACH,
Sans vouloir être corrosif, corriges tes fautes avant de parler de celles des autres.
"sa fait", "appart" etc...
Moi aussi je n'aime pas lire du sms, alors je comprends quand même.
Pour 310 (car c'est là le plus important)
Je suis d'accord avec NHENRI tu devrais utiliser une fonction récursive.
Utilisée dans un module, cela permettrait de l'utiliser dans tous les programmes ayant recours à cette fonction.
L'idée de GABILACH concernant la réduction de la taille à un format plus standard est peut-être à prendre aussi et pourquoi pas (soyons fou) avec une variable booléenne "Optional".
Messages postés
150
Date d'inscription
dimanche 17 mai 2009
Statut
Membre
Dernière intervention
25 mai 2012

pourquoi un double comme type pour la variable v? plutot un Uint64.
Messages postés
200
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
28 septembre 2014

Je te conseille de corriger toutes tes fautes dans la conclusion et la description sa fait pas zoli zoli :O.
Mais sinon source assez utile mise appart qu'il faudrait convertir le résultat que l'on obtient basiquement en Octets en Méga Octets par exemple pour que sa soit plus "propre" ^^ !
Messages postés
14676
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 juillet 2020
143
Bonsoir,

Ton code serait plus à sa place sur www.codyx.org.
Sinon, à la place d'utiliser une variable globale, utilises plutôt une fonction récursive à la place d'une Sub récursive.