compress_file()

compress_file(<nombre de archivo>)

Descripción:

Comprime uno o varios archivos del disco, como único parámetro se requiere el <nombre de archivo> que debe comprimirse, como un literal (texto entre comillas). Pueden utilizarse los carácteres comodín "?" y "*" para especificar varios archivos (por ejemplo, "*.BAK" para comprimir todos los archivos con extensión BAK).

Para descomprimir estos archivos se debe utilizar la función uncompress_file(). El formato de archivo encriptado es un formato propio de DIV Games Studio, 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. No se podrán comprimir por segunda vez los archivos que ya están comprimidos.

Programa ejemplo:
PROGRAM ejemplo_compress_file;

GLOBAL
    contador;
    mitabla[999];

BEGIN
    FOR (contador=0;contador<1000;contador++)
        mitabla[contador]=contador;
    END

    save("help\help.cmp",OFFSET mitabla,sizeof(mitabla));

    compress_file("help\help.cmp"); // Comprime el archivo
END


Este pequeño programa utiliza la función save() para crear un archivo llamado help.cmp con los datos contenidos en mitabla, siendo estos una serie de números consecutivos del 0 al 1000.

Una vez creado el archivo, se comprime con la función compress_file().

En este caso, el tamaño original del archivo es de 4000 bytes (1000 datos), y el tamaño del archivo comprimido es de 1441 bytes (un 36% del tamaño original).


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

Los archivos encriptados generados con estas funciones no podrán comprimirse debido a que su contenido es completamente aleatorio. No obstante, los archivos comprimidos si que pueden encriptarse.


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