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

<- AddPackFile() - Packer Index - ClosePack() ->