Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Compresión/Descompresión De Archivos En Gambas
Autor Mensaje
Responder citando   Descargar mensaje 
Mensaje Compresión/Descompresión De Archivos En Gambas 
 
Compresión
La clase Compress permite utilizar los algoritmos de compresión Bz2 y gz.
Requiere que estén instaladas las librerías las librerías "libz" y "libbz2" para poder utilizar ambos métodos o bien una de ellas para poder utilizar uno de los métodos

Definición
Dim Comprimir as new Compress


Propiedad type
Define el tipo de compresión a utilizar. Puede tener los siguientes valores
zlib ---> para crear archivos .gz
bzlib2 ---> para crear archivos bz2
Comprimir.type="zlib"


Propiedad Max/Min/Default
Define el nivel de compresión. Max para máximo, Min, para mínimo y default para el nivel por defecto para el tipo de compresión especificado por type. A mayor compresión menor velocidad.

Comprimir un archivo a otro archivo
Se utiliza el método file que tiene el siguiente formato:
file(origen,destino,nivel)
origen ---> path completo de archivo a comprimir
destino ---> path completo de archivo comprimido
nivel --->Nivel de compresión que puede valer Min, Max o default. Si no se especifica se usará default
.
Dim comprimir as new Compress

Comprimir.type="zlib"
Comprimir.file(user.home & "/aplicacion.log",user.home & "/aplicacion.log.gz",Comprimir.max)


Abrir un fichero comprimido para agregar datos
se utiliza el método open que tiene el siguiente formato:
open(archivo,nivel)
donde archivo es el archivo comprimido y nivel es el nivel de compresión a utilizar.
Una vez abierto se utiliza como cualquier otro stream.
Dim Comprimir as new Compress

Comprimir.type="zlib"
Comprimir.open(user.home & "/aplicacion.log.gz",Comprimir.max)
print #Comprimir, "nuevo dato a agregar al archivo"
print #Comprimir, "nuevo dato a agregar al archivo"
print #Comprimir, "nuevo dato a agregar al archivo"
print #Comprimir, "nuevo dato a agregar al archivo"
close #Comprimir


Comprimir un string en memoria
Para ello está el método string que tiene el siguiente formato:
StringComprimido=string(StringOriginal,nivel,mayor)
StringOriginal ---> string a comprimir
nivel ---> nivel de compresión a utilizar
Mayor --> es un valor booleano cuyo sentido es
   FALSE ----> Se comprime solo si el resultado comprimido es menor que el original
   TRUE ----> Siempre comprime aunque el resultado obtenido sea igual o mayor que el original.

Dim Comprimir as new compress, Cadena as string

Comprimir.type="zlib"
Cadena=Comprimir.string(textbox.text,Comprimir.max,false)


Descompresión
Utiliza la clase uncompress.

Requiere que estén instaladas las librerías las librerías "libz" y "libbz2" para poder utilizar ambos métodos o bien una de ellas para poder utilizar uno de los métodos

Propiedad type
Define el tipo de compresión a utilizar. Puede tener los siguientes valores
zlib ---> para crear archivos .gz
bzlib2 ---> para crear archivos bz2
Desomprimir.type="zlib"


Descomprimir un archivo
Se utiliza el método file que tiene el siguiente formato:
file(origen,destino)
origen ---> path completo de archivo a comprimir
destino ---> path completo de archivo comprimido
linenumbers=false].
Dim Descomprimir as new unCompress

Descomprimir.file(user.home & "/aplicacion.log.gz",user.home & "/aplicacion.log"


Leer el contenido de un archivo comprimido
se utiliza el método open que tiene el siguiente formato:
open(archivo,nivel)
donde archivo es el archivo comprimido y nivel es el nivel de compresión a utilizar.
Una vez abierto se utiliza como cualquier otro stream.
Dim Descomprimir as new Uncompress, Cadena as string

Descomprimir.type="zlib"
Descomprimir.open(user.home & "/aplicacion.log.gz")
Line Input #Descomprimir, "Dato leído",Cadena
...
close #Descomprimir


Descomprimir en memoria una string
Para ello está el método string que tiene el siguiente formato:
StringSinComprimir=string(StringComprimido)

Dim descomprimir as new uncompress, Cadena as string

Cadena = ... 'valor de un string comprimido
Descomprimir.type="zlib"
textbox.text=Descomprimir.string(cadena)

 



 
última edición por soplo el Viernes, 20 Noviembre 2009, 22:57; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes ---Compresión De Archivos--- Edgardo Shell Scripting 3 Martes, 24 Noviembre 2015, 18:20 Ver último mensaje
Edgardo
No hay nuevos mensajes Archivos TXT En Gambas jhonnshark General 1 Jueves, 27 Octobre 2011, 07:35 Ver último mensaje
ivanovichenco
No hay nuevos mensajes Archivos Ocultos Y Gambas 3 aasanchez General 1 Jueves, 15 Septiembre 2011, 00:38 Ver último mensaje
jguardon
No hay nuevos mensajes Visualizar Los Archivos Parches De Gambas Shell General 2 Viernes, 20 Enero 2017, 21:20 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario