Pour calculer
la taille d'un répertoire, Windows est obligé de parcourir le répertoire et ses
sous répertoires et de faire la somme du volume de tous les fichiers. Il en est
de même pour Win Dev.
sNomRep est une chaîne
= "C:\Temp"
CptVolume est un entier
SI fRep(sNomRep,frRépertoire) =
""
ALORS
Erreur("Erreur,
Répertoire inexistant")
RETOUR
FIN
fListeFichier(sNomRep "\*.*","CalculeVolume",&CptVolume)
SI ErreurInfo()<>
"" ALORS
Erreur(ErreurInfo())
Info("Le volume du
répertoire " sNomRep RC " est
" NumériqueVersChaîne(CptVolume,"ds") "
octets")
Procédure
callback
appelée par
fListeFichier()
PROCEDURE
CalculeVolume(Repertoire, Nom, Change, CptVolumeRep)
// Déclaration
de la variable
CptVolume est un
entier
SI fRep(Repertoire Nom,frFichier) <>
"" ALORS
//Cas d'un
fichier -> on incrémente le volume
Transfert(&CptVolume, CptVolumeRep, 4)
CptVolume =
fTaille(Repertoire Nom)
Transfert(CptVolumeRep,
&CptVolume, 4)
SINON
//Cas d'un
répertoire -> on liste à nouveau le sous répertoire
fListeFichier(Repertoire Nom,"CalculeTaille",&CptVolume)
FIN