version 6.0
bk_LIRE TAILLES (data; structure; historique; fichiersJoints; total)
| Paramètre | Type | Description | |
| data | Numérique | Taille en octets du fichier de données | |
| structure | Numérique | Taille en octets du fichier de structure | |
| historique | Numérique | Taille en octets du fichier d'historique | |
| fichiersJoints | Numérique | Taille en octets des fichiers joints | |
| total | Numérique | Taille totale en octets de la sauvegarde |
Description
La commande bk_LIRE TAILLES fournit la taille en octets de chacun des fichiers à sauvegarder.
La variable fichiersJoints recevra une valeur correspondant à la somme des tailles en octets des fichiers joints.
La variable total recevra la taille totale du fichier archivé. A noter que cette taille sera légèrement supérieure à la somme des tailles des fichiers précédents, puisque le fichier sauvegardé inclut un en-tête décrivant son contenu. Les codes de vérification et de réparation automatiques des données accroissent également la taille de l'archive de quelques pourcents.
Exemple
Cette méthode vous propose uniquement les volumes disposant de suffisamment de place pour réaliser votre sauvegarde :
C_ENTIER($Sauvegarde;$vErr;$i)
C_REEL($Capacité;$Utilisé;$Disponible;$Data;$Structure;$Histo;$FicJoints;$Tot)
$vErr:=bk_Debut sauvegarde integrale
Si ($vErr=0)
TABLEAU ALPHA(32;TabVolume;0)
bk_LIRE LISTE VOLUME (TabVolume)
bk_LIRE TAILLES ($Data;$Structure;$Histo;$FicJoints;$Tot)
`Commencer la boucle à 2 pour ne pas choisir le lecteur de disquettes
Boucle ($i;2;Taille tableau(TabVolume))
bk_LIRE PLACE VOLUME ($i;$Capacité;$Utilisé;$Disponible)
`Les 100 Ko supplémentaires constituent une marge de sécurité
Si ($Disponible>($Tot+100000))
CONFIRMER("Souhaitez-vous faire une sauvegarde sur le volume : "+TabVolume{$i})
Si (OK=1)
bk_FIXER VOLUME ($i)
$vErr:=bk_Lancer copie
Repeter
Jusque (bk_Lire etat #4)
$i:=Taille tableau(TabVolume) `On force la sortie de la boucle
Fin de si
Fin de si
Fin de boucle
Fin de si
bk_FIN SAUVEGARDE