AddPackMemory()
Syntaxe
Resultat = AddPackMemory(AdresseMemoire, Longueur [, NiveauCompression])Description
Ajoute et compresse la zone mémoire spécifiée dans le Pack préalablement créé avec la commande CreatePack(). L'ajout d'une grande quantité de zone mémoire peut prendre un temps assez long, mais la vitesse de décompression est extrêmement rapide (pratiquement instantanée). Le paramètre 'NiveauCompression' est facultatif et peut prendre une valeur comprise entre 0 (compression plus rapide mais pas très efficace) et 9 (compression très lente mais très efficace). Le niveau de compression par défaut est 6.
Exemple
Dim Tableau(10) ; Tableau de 11 éléments
;Remplissage du tableau
For i=0 To 10
Tableau(i) = i
Next
If CreatePack("test.pak")
;Ajoute et compresse les données du tableau
AddPackMemory(@Tableau(), SizeOf(Long)*11, 9)
ClosePack()
EndIf
;Mise à zéro du tableau
For i=0 To 10
Tableau(i) = 0
Next
;Ouvre le fichier pack
If OpenPack("test.pak")
*Pointeur=NextPackFile() ; Lit et décompresse la zone mémoire
Taille=PackFileSize() ; Taille de la zone mémoire
;Copie la zone mémoire décompressée dans le tableau
CopyMemory(*Pointeur, @Tableau(), Taille)
ClosePack()
EndIf
;Lecture du tableau
For i=0 To 10
Debug Tableau(i)
Next
OS Supportés
Tous