void compress_file( char * nombre )


Descripción:

Comprime un archivo de disco, como único parámetro se requiere el nombre de archivo que debe comprimirse, como un literal (texto entre comillas).

Para descomprimir estos archivos se debe utilizar la función uncompress_file(). El formato de archivo encriptado es un formato propio de ALLEGRO, por lo que no se podrán descomprimir con ninguna utilidad externa.

El archivo se guarda comprimido con el mismo nombre y extensión que tenía el original.


int nCompressFile, nUncompressFile;

MAIN_PROGRAM_CDIV
BEGIN_PROGRAM

 set_gfx(GFX_AUTODETECT_WINDOWED);

 set_mode(m320x200);

 nUncompressFile = filelength("../help.fpg");

 write ( 0, 0, 10, 0, "El archivo [help.fpg] sin comprimir:");
 write_int( 0, 0, 20, 0, &nUncompressFile);

 FRAME;

 compress_file("../help.fpg"); // Comprime el archivo

 nCompressFile = filelength("../help.fpg");

 write ( 0, 0, 30, 0, "El archivo [help.fpg] comprimido:");
 write_int( 0, 0, 40, 0, &nCompressFile);

 FRAME;

 uncompress_file("../help.fpg"); // Descomprime el archivo

 LOOP
  FRAME;

END_PROGRAM

Muestra el tamaño del archivo sin comprimir y el tamaño del archivo cuando se comprime con la función compress_file().

Tanto mayor sea el archivo mejor será el factor de compresión, el sistema de compresión no realiza tan buenos ratios de compresión como otros programas comerciales pero es mucho más rápido que estos.

Nota: Las funciones encode_file() y decode_file() permiten encriptar y desencriptar archivos del disco.


Ver: uncompress_file() - encode_file() - decode_file()