Taille sur le disque d'un fichier ou d'un dossier

rols26 Messages postés 2 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 28 décembre 2009 - 24 déc. 2009 à 15:03
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016 - 24 déc. 2009 à 23:58
Existe-il un moyen en delphi de récupérer la taille occupée sur le disque par un fichier ou un dossier?
J'arrive à récupérer la taille réelle en octets mais pas la taille physique?

Cordialement,
Rols

1 réponse

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
24 déc. 2009 à 23:58
Bonjour

pour retrouver la taille occupée sur le disque
il faut connaitre la taille du fichier
et la taille des cluster

si FileSize n'est pas un multiple de ClusterSize
FileSizeOnDisque := ((FileSize div ClusterSize) * ClusterSize) + ClusterSize ;
si non
FileSizeOnDisque := FileSize

les fonctions à utiliser sont
GetCompressedFileSize pour la taille du fichier
GetDiskFreeSpace pour avoir des informations sur le disque (nombres de secteurs par cluster, nombres de byte par secteur, ...)

pour calculer la taille d'un cluster il faut multiplier le (nombre de secteur par cluster) par le(nombres de bytes par secteur)

A+
0
Rejoignez-nous