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

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 16 avril 2012 à 22:16
cs_310 Messages postés 21 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 28 avril 2012 - 24 avril 2012 à 18:30
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

cs_310 Messages postés 21 Date d'inscription dimanche 6 août 2006 Statut Membre Dernière intervention 28 avril 2012
24 avril 2012 à 18:30
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
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 avril 2012 à 12:46
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.
cs_Multiprise Messages postés 63 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 23 avril 2013
23 avril 2012 à 19:58
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.
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
23 avril 2012 à 09:06
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".
MiharbiDoNo Messages postés 150 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2012
18 avril 2012 à 22:13
pourquoi un double comme type pour la variable v? plutot un Uint64.
Gabilach Messages postés 200 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 28 septembre 2014
18 avril 2012 à 00:48
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" ^^ !
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 avril 2012 à 22:16
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.
Rejoignez-nous