Clase para crear archivos ZIP con Visual FoxPro 9

visual fox pro manuales foro libros
ada
Clase para crear archivos ZIP con Visual FoxPro 9 RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
Clase para crear archivos ZIP con Visual FoxPro 9
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Untitled Document

+Nuestro Manual
+Manuales
+Tutoriales VFox
+Descargas
+Codigo Fuente
+Articulos
+Foro VFox
+Libros VFox

+Newsletter
+InscribeteGratis..

+Manuales
+Programacion
+DiseñoWeb
+Bases de Datos
+Manual.propios
+Cursos-Masters
+Manual de Diseño

+Trucos
+Ver secc.trucos

+Recursos
+ver recursos

+Noticias/RSS
+Ver noticias
+Ver canal RSS

+Codigo Fuente:
+Portada

+Comunidad
+Foros

+Webmasters
+ZonaWebmaster

+Software
+ir a secc. Soft

+AreasExclusivas
+Zona Flash
+Zona PHP
+Zona ASP
+Zona VB
+Zona ADSL
+Zona Photoshop
+Zona MAC

+Agregador Blogs
+Tech-y
+Movilmania
+Mac

+Herramientas
+Herramientas
+Drivers

+Gana Dinero
+Como ganar

+SuperDiVX
+Area Divx

+Articulos
+Ver articulos
+Noticias

+Directorio [New]
+Ver directorio

+Blogs
+Nuestros blogs

+Noticias
+de Tecnologia

+SuperGames
+Juegos/ocio

+Canal Compras
+Canal Compras

Inicio >> Visual Fox Pro >> esta pagina
Clase para crear archivos ZIP con Visual FoxPro 9
 

Clase para crear archivos ZIP con Visual FoxPro 9

La clase ZIP.VCX esta desarrollada en Visual FoxPro 9 y permite comprimir y descomprimir archivos zip, para eso se usan las librerías aZip32.dll y aUnZip32.dll. Esta librería cuenta con la siguientes clases:

1.Clases
1.1 Interface
1.1.1 Compresión
1.1.1.1 Destino
1.1.1.2 Contraseña
1.1.1.3 Pestaña Incluir
1.1.1.4 Pestaña excluir
1.1.1.5 Comentario
1.1.2 Descompresión
1.1.2.1 Origen
1.1.2.2 Destino
1.1.2.3 Contraseña
1.3 Opciones
1.3.1 Modo de ompresión
1.3.2 Sobrescrinir archivos en el zip
1.4 Metodos y eventos
1.2 Zip
1.2???;?n`a?A ?a?a????.1 Metodos y eventos
1.2.1.1 Metodo Objeto.Comprimir()
1.2.1.2 Metodo Objeto.Descomprimir()
1.2.1.3 Metodo Objeto.Agregar(tcArchivo, tcOpcion)
1.3 Nota SET PATH TO

--> DESCARGAR ZIP.VCX, EJEMPLO Y DLL´S <--

CLASE: Zip.Interface
Esta clase permite a través de una interfase grafica permite al usuario trabajar con archivos zip a su antojo.

COMPRESIÓN

zip1

 

Destino: Es la ruta y el nombre del archivo ZIP que se generara, por ejemplo C:/prueba.zip, utilice el botón “…” para especificar el archivo.

Contraseña: Permite proteger el archivo ZIP con una contraseña, si desea ver la contraseña ingresada haga clic en “Mostrar Contraseña”, para ocultarla haga clic nuevamente.

Pestaña “Archivos a incluir”: En esta pestaña se agregan a la lista los archivos a respaldar, para tal fin existen cuatro botones:

  • Agregar archivo: permite agregar un archivo a la lista
  • Agregar carpeta:???;?n`a?A ?a?a???? Permite agregar todo el contenido de una carpeta, para tal fin se usa el carácter *, por ejemplo si queremos agregar todo el contenido de una carpeta hacemos clic en el botón  Agregar carpeta, el nos muestra una ventana donde seleccionamos la carpeta, luego nos muestra la siguiente ventana

    Si quisiéramos ingresar todos los archivos cuyo nombre empezaran con la letra “A” escribiríamos I:\TRUCOS VFP\A*.*, si por el contrario quisiéramos todos los archivos que fueran de texto escribiríamos I:\TRUCOS VFP\*.TXT, la opción I:\TRUCOS VFP\*.* selecciona todos los archivos.

  • Quitar: remueve de la lista de archivos el que este seleccionado
  • Limpiar: Quita de la lista todos los archivos

Pestaña “Archivos a Excluir ”: Similar a Archivos a incluir

Comentario: permite agregar un comentario al archivo zip, el botón “…” que esta al lado permite cargar el comentario desde un archivo de texto

DESCOMPRESIÓN

Origen: Indica el archivo zip a descomprimir, para seleccionar el origen haga clic en el botón “…” que se encuentra al lado

Destino: Especifica la carpeta en donde serán e???;?n`a?A ?a?a????xtraídos los archivos

Contraseña: Permite desproteger el archivo ZIP en caso de que lo estuviera

OPCIONES

Incluir sub-directorio: hace la inserción de archivos recursiva

Incluir directorio: NO DOCUMENTADA

Incluir directorio Vacíos: NO DOCUMENTADA

Restaurar estructura: Si es verdadera restaura las carpetas y subcarpetas, de lo contrario extrae todos los archivos en el directorio de destino y omite la estructura previa

Incluir archivos ocultos: Si es verdadero agrega los archivos ocultos, de lo contrario los omite

Incluir archivos del sistema y solo lectura funcionan igugual que incluir archivos ocultos

Modo de compresión: La librería aZip32.dll soporta cuatro niveles de compresión, seleccione según su criterio, por defecto se estable la Normal

Sobrescribir archivos: estable la acción para cuando los archivos a incluir ya existen en el zip

 

Métodos y propiedades de la clase Zip.Interface

Comprimir: Hace llamado al método comprimir del objeto Zip1 y muestra resultados


Descomprimir: Hace llamado al método descomprimir del objeto Zip1 y muestra resultados

 

CLASE ZIP.ZIP

Esta clase se encarga de dar uso a las dll aZip32.dll y aUnZip32.dll

Métodos y propiedades de la clase Zip.Interface

Propiedades

ArchivosExcluir : Propiedad tipo texto que indica los archivos que no se incluiran en el zip, para mas de un archivo deben estar separados por el signo | (chr(124) Ejemplo: "C:\autoexec.bat|C:\bott.ini"

ArchivosExtraer : Propiedad tipo texto que indica los archivos que no se extraeran del zip, por defecto se extraeran todos (*.*), para mas de un archivo deben estar separados por el signo | (chr(124)

ArchivosIncluir : Propiedad tipo texto que indica los archivos que se incluiran en el zip, para mas de un archivo deben estar separados por el signo | (chr(124)

ArchivosZip : Propiedad tipo texto que indica la ruta???;?n`a?A ?a?a???? y nombre dela rchivo zip a comprimir o descomprimir. Ejemplo "C:\prueba.zip"

Comentario : Propiedad tipo texto que contiene el comentario que se agregara en el zip

Compresion : Propiedad tipo entero que indica indica el nivel de compresion del archivo, 3:Maximo, 2:Normal, 1:Minimo, 0:Ninguno

Contraseña : Propiedad tipo texto que contiene la contraseña del archvo zip a comprimir o descomprimir

DirectorioDestino : Propiedad tipo texto que estable el directorio en donde los archivos seran extraidos

EntrarDirectorio : NO DOCUMENTADO

EntrarDirectorioVacio : NO DOCUMENTADO

Fresehn : NO DOCUMENTADO

GuardarEsctructura : Propiedad tipo entero que indicasi se guarda la estructura de los directorios, 1:Si, 0:No

IncluirArchivosDelSistema: 1:Si, 0:No

IncluirArchivosSoloLectura: 1:Si, 0:No

IncluirOcultos: ,1:Si, 0:No

MultiVolumenes :1:Si, 0:No

RestaurarEstructura: 1:Si, 0:No

Sobrescribir : 1:Si, 0:No

Subdirectorios : 1:Si, 0:No

Metodos

Agregar : Este metodo permite adicionar al la lista de ArchivosIncluir nuevos arcivos, revisando que no existan y agregando | para separarlos, tiene dos parametros, el primero es el archivo con su ruta, el segundo si el archivo se incluira en la lista ArchivosIncluir +, o en la lista ArchivosExcluir - su uso es :

Objeto.Agregar('C:/archivo.000','+') &&Agrega un archivo a ArchivosIncluir

Objeto.Agregar('C:/archivo.000','-') &&Agrega un archivo a ArchivosExcluir

 

Comprimir: Inica el proceso para comprimir archivos, no requiere parametros y retorna el numero de archivos procesados

Descomprimir: Inica el proceso para descomprimir archivos, no requiere parametros y retorna el numero de archivos procesados

Metodo Objeto.Comprimir()

WITH this
*!* Validando propiedades antes de Iniciar
DO CASE
CASE EMPTY(.ArchivoZip)=.t.
=MESSAGEBOX('No ha definido el archivo zip de destino',0+48+0,'Zip destino')
RETURN 0
CASE EMPTY(.ArchivosIncluir)=.t.
=MESSAGEBOX('No ha incluido archivos para comprimir',0+48+0,'Archivos a incluir')
RETURN 0
CASE FILE('aZip32.dll')=.f.
=MESSAGEBOX('No se ha encontrado el archivo aZip32.dll',0+16+0,'Falta archivo')
RETURN 0
OTHERWISE
*!* Declarando metodos de la API de Windows
PRIVATE HWND
DECLARE INTEGER GetActiveWindow IN win32api
HWND = GetActiveWindow()

*!* Declarando metodos y propiedades de la API aZIP32.dll
DECLARE addZIP_Initialise IN AZIP32
DECLARE SHORT addZIP_SetParentWindowHandle IN AZIP32 SHORT HWindow
DECLARE SHORT addZIP_ArchiveName IN AZIP32 STRING @ sArchName
DECLARE SHORT addZIP_Include IN AZIP32 STRING @ sFileName
DECLARE SHORT addZIP_Exclude IN AZIP32 STRING @ seFileName
DECLARE SHORT addZIP_Recurse IN AZIP32 SHORT nRecurse
DECLARE SHORT addZIP_SetCompressionLevel IN AZIP32 SHORT nComprLvl
DECLARE SHORT addZIP_IncludeDirectoryEntries IN AZIP32 SHORT nInclDir
DECLARE SHORT addZIP_IncludeEmptyDirectoryEntries IN AZIP32 SHORT nInclEDir
DECLARE SHORT addZIP_Update IN AZIP32 SHORT nUpdate
DECLARE SHORT addZIP_SpanSizes IN AZIP32 LONG @ ulFirst, LONG @ ulOther
DECLARE SHORT addZIP_Span IN AZIP32 SHORT nSpan
DECLARE SHORT addZIP_Register IN AZIP32 STRING @ RegName, LONG RegNum
DECLARE SHORT addZIP_Encrypt IN AZIP32 STRING @ sPassw
DECLARE INTEG???;?n`a?A ?a?a????ER addZIP IN AZIP32
DECLARE INTEGER addZIP_Comment IN AZIP32 STRING @ lpStr
DECLARE INTEGER addZIP_SaveStructure IN AZIP32 INTEGER Int16
DECLARE INTEGER addZIP_BuildSFX IN AZIP32 INTEGER iFlag
DECLARE INTEGER addZIP_IncludeHidden IN AZIP32 INTEGER iFlag
DECLARE INTEGER addZIP_IncludeSystem IN AZIP32 INTEGER iFlag
DECLARE INTEGER addZIP_IncludeReadOnly IN AZIP32 INTEGER iFlag

*!* Iniciando proceso
addZIP_Initialise() && Iniciando proceso
addZIP_IncludeHidden(IIF(.IncluirArchivosOcultos>1,1,.IncluirArchivosOcultos)) && Incluir en el Zip Archivos Ocultos
addZIP_IncludeSystem(IIF(.IncluirArchivosSoloLectura>1,1,.IncluirArchivosSoloLectura)) && Incluir en el Zip Archivos del sistema
addZIP_IncludeReadOnly(IIF(.IncluirArchivosSoloLectura>1,1,.IncluirArchivosSoloLectura))&& Incluir en el Zip Archivos de solo lectura
addZIP_SetParentWindowHandle(_screen.HWnd) && Handle
addZIP_Register(.RegistroUsuario,.RegistroLlave) && Registrando
addZIP_Recurse(IIF(.Subdirectorios=.t.,1,0)) &&Almacenar informacion de subdirectorios
addZIP_IncludeDirectoryEntries(IIF(.EntrarDirectorio=.t.,1,0)) &&
addZIP_IncludeEmptyDirectoryEntries(IIF(.EntrarDirectorioVacio=.t.,1,0)) &&
addZIP_SetCompressionLevel(ICASE(.Compresion<0,2,.Compresion>3,2,.Compresion))
addZIP_SaveStructure(ICASE(.GuardarEstructura<0,0,.Compresion>2,2,.GuardarEstructura))
addZIP_ArchiveName(.ArchivoZip) && Archivo de destino ZIP
addZIP_Include(.ArchivosIncluir) && Archivos a Incluir, separador por |
addZIP_Exclude(.ArchivosExcluir) && Archivos a excluir, separados por |
addZIP_Encrypt(.Contraseña) ???;?n`a?A ?a?a????&& Contraseña de acceso
addZIP_Comment(.Comentario) && Comenatorio en el archivo
addZIP_Span(.MultiVolumenes) && Multiples volumenes
RETURN addZIP() && Comprime y retorna los archivos procesados
ENDCASE
ENDWITH

 

Metodo Objeto.Descomprimir()

WITH this
*!* Validando propiedades antes de Iniciar
DO CASE
CASE EMPTY(.ArchivoZip)=.t. OR FILE(.ArchivoZip)=.f.
=MESSAGEBOX('No ha definido el archivo zip de origen o no exite',0+48+0,'Zip origen')
RETURN 0
CASE FILE('aUnZip32.dll')=.f.
=MESSAGEBOX('No se ha encontrado el archivo aUnZip32.dll',0+16+0,'Falta archivo')
RETURN 0
OTHERWISE
*!* Declarando metodos de la API de Windows
PRIVATE HWND
DECLARE INTEGER GetActiveWindow IN win32api
HWND = GetActiveWindow()

*!* Declarando metodos y propiedades de la API aUnZIP32.dll
DECLARE LONG addUNZIP IN aunzip32.DLL
DECLARE INTEGER addUNZIP_Abort IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_ArchiveName IN aunzip32.DLL STRING filename
DECLARE INTEGER addUNZIP_Decrypt IN aunzip32.DLL STRING cPassword
DECLARE INTEGER addUNZIP_DisplayComment IN aunzip32.DLL INTEGER bFlag
DECLARE INTEGER addUNZIP_Exclude IN aunzip32.DLL STRING FILES
DECLARE INTEGER addUNZIP_ExcludeListFile IN aunzip32.DLL STRING cFile
DECLARE INTEGER addUNZIP_ExtractTo IN aunzip32.DLL STRING cPath
DECLARE INTEGER addUNZIP_Freshen IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_GetLastError IN aunzip32.DLL
DECLARE I???;?n`a?A ?a?a????NTEGER addUNZIP_GetLastWarning IN aunzip32.DLL
DECLARE INTEGER addUNZIP_Include IN aunzip32.DLL STRING FILES
DECLARE INTEGER addUNZIP_IncludeListFile IN aunzip32.DLL STRING cFile
DECLARE addUNZIP_Initialise IN aunzip32.DLL
DECLARE INTEGER addUNZIP_InstallCallback IN aunzip32.DLL STRING funnc
DECLARE INTEGER addUNZIP_Overwrite IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_Register IN aunzip32.DLL STRING cName, LONG lNumber
DECLARE INTEGER addUNZIP_ResetDefaults IN aunzip32.DLL
DECLARE INTEGER addUNZIP_RestoreAttributes IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_RestoreStructure IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_SetParentWindowHandle IN aunzip32.DLL LONG HWND
DECLARE INTEGER addUNZIP_SetWindowHandle IN aunzip32.DLL LONG HWND
DECLARE INTEGER addUNZIP_Test IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_ToMemory IN aunzip32.DLL STRING lpStr, LONG Uint32
DECLARE INTEGER addUNZIP_Update IN aunzip32.DLL INTEGER iFlag
DECLARE INTEGER addUNZIP_View IN aunzip32.DLL INTEGER bFlag

*!* Iniciando proceso
addUNZIP_Initialise()
addUNZIP_SetParentWindowHandle(_screen.HWnd)
addUNZIP_Register(ALLTRIM(.RegistroUsuario),.RegistroLlave)
addUNZIP_Decrypt(.Contraseña)
addUNZIP_RestoreStructure(.RestaurarEstructura)
addUNZIP_Freshen(.Freshen)
addUNZIP_ArchiveName(.ArchivoZip)
addUNZIP_ExtractTo(ALLTRIM(FULLPATH(.DirectorioDestino)))
addUNZIP_Include(IIF(EMPTY(.ArchivosExtraer)=.t.,'*.*',.ArchivosExtraer))
addUNZIP_Overwrite(ICASE(.Sobrescribir>12,12,.Sobrescribir<10,10,.Sobrescribir))
RETURN addUNZIP()
ENDCASE
ENDWITH

 

Metodo Objeto.Agregar(tcArchivo, tcOpcion)

LPARAMETERS tcArchivo as String, tcOpcion as String

*!* Dando formato a los parametros
tcArchivo=ALLTRIM(UPPER(TRANSFORM(tcArchivo)))
tcOpcion=ALLTRIM(UPPER(TRANSFORM(tcOpcion)))

WITH this
*!* Valida parametros
DO CASE
CASE tcArchivo$.ArchivosIncluir
=MESSAGEBOX('El archivo '+tcArchivo+' Ya se ha agregado con anterioridad',0+48+0,'Archivo',3200)
OTHERWISE
*!* Segun opcion agrega a la lista de Inlcuir o de escluir
DO CASE
CASE tcOpcion='+'
.ArchivosIncluir=.ArchivosIncluir+IIF(EMPTY(.ArchivosIncluir)=.f.,'|','')+tcArchivo
CASE tcOpcion='-'
.ArchivosExcluir=.ArchivosExcluir+IIF(EMPTY(.ArchivosExcluir)=.f.,'|','')+tcArchivo
OTHERWISE
=MESSAGEBOX('Error de parametro, A:Inlcuir en zip, E:Excluir en zip',0+16+0,'Parametro',6400)
ENDCASE
ENDCASE
ENDWITH

Nota: Se debe especificar SET PATH TO 'Carpeta' ADDITIVE donde Carpeta es la ubicacion de las librerias aZip32.dll y aUnZip32.dll , por ejemplo

Ruta relativa: SET PATH TO FULLPATH(CURDIR()+'DLL') ADDITIVE
la dll se encuentra en el directorio por defecto en la carpeta DLL si el directorio por defecto fuera C:\MiApp, las dll estarian en C:\MiApp\aZip32.dll y C:\MiApp\aUnZip32.dll

 

 

 

José Guillermo Ortiz Hernández
Programador Visual FoxPro, WEB Developer


Mas articulos de visual fox pro
visual fox pro Cómo automatizar Word de Visual FoxPro y agregar una tabla a un documento
visual fox pro Crear un instalador en Inno Setup para una aplicacion desarrollada en Visual FoxPro (VFP)
visual fox pro Simulador de la ventana de comandos de visual fox pro
visual fox pro Definir un menú en Visual FoxPro
visual fox pro Clase para crear archivos ZIP con Visual FoxPro 9
visual fox pro Codificar cadenas con vernam en visual fox pro
visual fox pro Codificar cadenas con MD5 en visual fox pro
visual fox pro Clase para ENCRIPTAR POR BLOWFISH con Visual FoxPro
visual fox pro como automatizar hojas de calculo de microsoft excel con Visual FoxPro
visual fox pro Como insertar un control OCX y hacer uso de el en FoxPro
visual fox pro Definir un ComboBox con Imágenes y fuente en un color específico,
  ver mas articulos de visual fox pro
   
Secciones de Visual Fox Pro
visual fox pro Nuestro Manual de Visual Fox Pro Seccion Descargas Visual Fox Pro
Manuales de Visual Fox Pro Tutoriales de Visual Fox Pro
visual fox pro Seccion Foro Visual Fox Pro visual fox pro Seccion Codigo Fuente
Seccion Libros de Visual Fox Pro    
ADD BLOGLINES Comenta y vota esta noticia en :
 
votanos en blogmemes
votanos en digg
Añadenos Favoritos - Ver foro relacionado - Registrate gratuitamente
Recomendar
hacer logos para tu web gratis crear un logo logo creator Recomendar esta pagina a un amigo
Documento sin título
Servidores
+ Directorio Ofertas
ofertas ADSL
ofertas Tech
ofertas viajes
ofertas finanzas
formacion
OfertasCreditos
  otras ofertas
Canal Compras
+ Canal compras
+canal informatica
+imagen y sonido
+juegos y consolas
+ Directorio Ofertas
secc. empleo
cursos
ir a libros
+ Ganar Dinero
+ Webmasters
+ resto de gente
+ Software
+ ir a software
Lo + descargado
programas para
programas para bajar peliculas
bajar peliculas
programas para bajar musica
bajar musica
programas de seguridad para tu pc
programas google
programas para DJ - mezcladores
programas para webmasters
programas pre-fabricados
+ Tonos y Melodias
Melodias tonos
Juegos java
- Juegos de moviles
+
Busca Logos
+ Logos y Melodias
+ Libros
+ ir a ver los libros
+Recursos CGI
+ ir a seccion
+Ocio
Juegos Flash Online
+Cursos y Masters
cursos y masters
+ Ofertas
ofertas TecNo

+Agregador Blogs
+Otros idiomas
+Webmasters (FR)
+Software (FR)
+Tech (PT)
+Tecnologia (IT)
+Technologie (DE)
+Software (DE)
+Games(DE)
+Software(IT)

Agregador Blogs de:
Home
blogs Tecnologia
blogs Software
blogs Moviles
blogs Internet
blogs Geeks
blogs Informatica
blogs Gadchets
blogs Zona Messenger
blogs Diseño
blogs Recursos Blogs
blogs Webmasters
blogs Programacion
blogs 2.0
blogs Linux
+Nuetros Blogs
Ver Blogs
+Programas Gratis
Programas gratis
+RSS de noticias

RSS PR

 
Registrate gratuitamente a nuestra NEWSLETTER y estate al tanto de todas las novedades
Programacion: LWP I Solorecursos I
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 -

Clase para crear archivos ZIP con Visual FoxPro 9