Hola invitado         02 Sep, 2010 - 04:48
Menú principal
 
Ads
 
Patrocinadores
 
Anuncios
 
© 2009 PortalFox
Conociendo Zip Component lecturas 8388
 Enviado por Luis María Guayán en Viernes, 04 Agosto, 2006
ActiveX En este artículo vamos a conocer un componente ActiveX freeware que puede comprimir/descomprimir facilmente un archivo o carpeta con una sola línea de código. Su nombre es "Zip Component" de Belus Technology Inc.

Conociendo Zip Component

Luis María Guayán Por Luis María Guayán, Tucumán, Argentina


Introducción

Con esta utilidad se puede comprimir y descomprimir archivos y carpetas muy facilmente desde Visual FoxPro. A continuación vamos a conocer los métodos del componente y algunos ejemplos de uso con código VFP.

El enlace para descargar este componente es el siguiente:

http://xstandard.com/page.asp?p=C9891D8A-5390-44ED-BC60-2267ED6763A7

Instalación

Para su instalación de debe copiar el archivo "XZip.dll" descargado en una carpeta (Ej: "C:\ZipComponent\") y desde la consola de comandos (DOS), en el directorio creado, ejecutamos: "regsvr32 XZip.dll".

En el caso de querer desinstalar el componente, ejecutamos desde la consola de comandos: "regsvr32 -u XZip.dll"

Métodos

Estos son los métodos y sus sintaxis:

Pack: Agrega un archivo o carpeta a un archivo ZIP. El nivel de compresión puede ser de 1 a 9. El valor por omisión es 6.

Pack(cRutaArchivo, cArchivoZip, lAlmacenaRuta, cNuevaRuta, nNivelCompresión)

UnPack: Extrae el contenido de un archivo ZIP de una carpeta.

UnPack(cArchivoZip, cRutaCarpeta, cPatron)

Delete: Elimina un archivo de un archivo ZIP.

Delete(cArchivo, sArchivoZip)

Move: Mueve o renombra un archivo en el archivo ZIP.

Move(cDeArchivo, cAArchivo, cArzhivoZip)

Contents: Recibe en un objeto la lista de archivos y carpetas de un archivo ZIP.

Contents(cArchivoZip)

El objeto Items recibido contiene las siguientes propiedades:

  • Count: Retorna la cantidad de miembros de la colección
  • Item: Retorna un miembro específico de la colección.

La clase Item contiene las siguientes propiedades:

  • Name: Nombre del archivo
  • Date: Fecha última modificaión
  • Path: Ruta relativa del archivo
  • Size: Tamaño en bytes del archivo
  • Type: Tipo del item: 1=Carpeta y 2=Archivo

Propiedades

ErrorCode: Retorna el código de error de la última operación.

ErrorDescription: Retorna la descripción del código de error de la última operación.

Version: Retorna la versión del producto.

Ejemplos en VFP

Veremos algunos ejemplos en código de Visual FoxPro, y lo fácil de su uso:

Comprimir archivos:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Pack("C:\Prgs\Prog1.prg", "C:\Zips\Programas.zip")
loZip.Pack("C:\Prgs\Prog2.prg", "C:\Zips\Programas.zip")
loZip.Pack("C:\Prgs\Prog3.prg", "C:\Zips\Programas.zip")
loZip = NULL

Comprimir archivos con la ruta por omisión:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Pack("C:\Prgs\Prog1.prg", "C:\Zips\Programas.zip", .T.)
loZip = NULL

Comprimir archivos con una ruta específica:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Pack("C:\Prgs\Prog1.prg", "C:\Zips\Programas.zip", .T., "VFP\Original")
loZip.Pack("C:\Prgs\Prog1.prg", "C:\Zips\Programas.zip", .T., "VFP\Copia")
loZip = NULL

Comprimir multiples archivos usando comodines:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Pack("C:\Prgs\*.prg", "C:\Zips\Programas.zip")
loZip = NULL

Descomprimiendo archivos:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.UnPack("C:\Zips\Programas.zip", "C:\Temp\")
loZip = NULL

Descomprimiendo archivos usando comodines:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.UnPack("C:\Zips\Programas.zip", "C:\Temp\", "*.prg")
loZip = NULL

Listar el contenido de un archivo ZIP:

loZip = CREATEOBJECT("XStandard.Zip")
loItems = loZip.Contents("C:\Zips\Programas.zip")
IF loZip.ErrorCode = 0
FOR EACH lo IN loItems
WITH lo
? .Name, .Size, .Path, .Date, IIF(.Type=1,"Dir","File")
ENDWITH
ENDFOR
ELSE
MESSAGEBOX(loZip.ErrorDescription,16,"Error")
ENDIF
loItems = NULL
loZip = NULL

Remover un archivo de un archivo ZIP:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Delete("Prgs\Prog2.prg", "C:\Zips\Programas.zip")
loZip = NULL

Renombrar un archivo en un archivo ZIP:

loZip = CREATEOBJECT("XStandard.Zip")
loZip.Delete("Prgs\Prog3.prg", "Prgs\Prog99.prg", "C:\Zips\Programas.zip")
loZip = NULL

Conclusiones

Por su facilidad de uso y tratarse de un componente freeware que podemos incluir en nuestras aplicaciones sin ningún problema, esta utilidad seguramente cubrirá las necesidades de muchos desarrolladores en Visual FoxPro al momento de comprimir información.

Hasta la próxima.

Luis María



 Versión imprimible  
Conociendo Zip Component | Entrar/Crear una cuenta | 2 Comentarios
Los comentarios son propiedad de sus respectivos autores.
No somos responsables de su contenido.

Re: Conociendo Zip Component


por Elektrodark en 04 Ago, 2006 - 06:03
(Información del usuario  | Enviar un mensaje http://)
Hola Luis que tal??. Es cierto que el xzip funciona excelentemente pero en copias de seguridad que los archivos pueden sumar mas de 500 Mb. Como es mi caso la copia que realiza no es válida. Es mejor utilizar el 7zip por linea de comandos (shellexecute) , que también es gratuito. Recibe un cordial saludo, y gracias por el excelente trabajo que estais realizando.




Todas las marcas y los logos utilizados en este sitio son propiedad de sus respectivos dueños.
Los artículos, noticias y comentarios son propiedad y responsabilidad de sus respectivos autores.
Copyright © 2000-2010 PortalFox. Todos los derechos reservados.