Obtener zip funcionalidad gratis


Buscando una manera de integrar el zip y descomprimir la funcionalidad en su aplicación en el barato? Este es el plan-y Fernando Vicaría incluso ha envuelto todo en un poco aseado componente para usted!


Este artículo apareció originalmente en Desarrolladores de Delphi
derechos de Autor Pinnacle Publishing, Inc. Todos los derechos reservados.



Usted necesita un fragmento de funcionalidad. Compra un componente o subirse las mangas y empezar en el diseño del mismo? Muy a menudo, usted puede encontrar un freeware componente que hace el trabajo. Desafortunadamente, es común que los componentes no vienen con origen o a menos que perfecto. Y si eres como yo, que odio a añadir nada a su aplicación que no viene con el código fuente o que no ha sido completamente probado.
Si una característica adicional que usted necesita es la capacidad para comprimir o descomprimir archivos usando el estándar de la industria en formato Zip, entonces estás de suerte!
WinZip 7.0 (y versiones posteriores) ahora tiene su propia línea de comandos de apoyo. Este increíblemente útil add-on está disponible para su descarga a partir de Nico Mak Computing Inc. en su sitio Web: http://www.winzip.com.
¿Cuál es tan grande sobre una línea de comandos? Pensar en ello. Ahora usted puede construir un componente llame a la línea de comandos del programa, y todos sus problemas serán solucionados!
he Aquí una manera de hacer precisamente eso.
Llegar WinZip
en Primer lugar, usted necesita para instalar WinZip 7.0. Si usted ya tiene alguna otra versión de WinZip, actualizaciones se pueden descargar de forma gratuita desde la URL que acabo de mencionar.
una Vez que usted tiene la versión más reciente, el siguiente paso es descargar e instalar la línea de comandos add-on. Una vez que tienes instalado, asegúrese de que se han añadido a la ruta de acceso.
Ahora bien, si se podría construir un componente llame a la línea de comandos del programa y de paso las instrucciones correctas para ejecutar WinZip, que haría comprimir y descomprimir archivos en tu aplicación de simple!!!
Un tipo enumerado y la declaración
Este es un ejemplo típico de lo que la programación orientada a objetos (y, más específicamente, Delphi) es todo acerca de. La primera cosa que usted debe hacer es crear un tipo enumerado, donde puede especificar la dirección a la que quieres ir (comprimir o descomprimir):
TZipState = (zsCompress, zsDecompress)
Este tipo le permitirá cambiar entre las dos posibles acciones del componente. Listado 1 muestra el componente declaración.
Listado 1. La compresión/descompresión componente declaración.
TFVWinZip = clase(TComponent)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp & nbsp & nbsp FFileName: string
& nbsp & nbsp & nbsp & nbsp FUseFileList: boolean
& nbsp & nbsp & nbsp & nbsp FFileList: TStringList
& nbsp & nbsp & nbsp & nbsp FZipFileName: cadena
& nbsp & nbsp & nbsp & nbsp FZipState: TZipState
& nbsp & nbsp & nbsp & nbsp FOnExecute: TNotifyEvent
& nbsp & nbsp & nbsp & nbsp función GetFileList: TStringList
& nbsp & nbsp & nbsp & nbsp procedimiento SetFileList(valor: TStringList)
& nbsp & nbsp & nbsp & nbsp procedimiento CreateCompressBat
& nbsp & nbsp publicado
& nbsp & nbsp & nbsp & nbsp { Publicado declaraciones }
& nbsp & nbsp & nbsp & nbsp propiedad FileName: string
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FFileName escribir FFileName
& nbsp & nbsp & nbsp & nbsp propiedad UseFileList: boolean
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FUseFileList escribir FUseFileList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp predeterminado False
& nbsp & nbsp & nbsp & nbsp propiedad FileList: TStringList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer GetFileList escribir SetFileList
& nbsp & nbsp & nbsp & nbsp propiedad ZipState: TZipState
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FZipState escribir FZipState
& nbsp & nbsp & nbsp & nbsp propiedad ZipFileName: string
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FZipFileName escribir FZipFileName
& nbsp & nbsp & nbsp & nbsp propiedad OnExecute: TNotifyEvent
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FOnExecute escribir FOnExecute
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp & nbsp & nbsp constructor Create(AOwner: TComponent) reemplazar
& nbsp & nbsp & nbsp & nbsp destructor Destruir reemplazar
& nbsp & nbsp & nbsp & nbsp procedimiento de Ejecución
& nbsp & nbsp final
la Mayoría de sus propiedades y los métodos deben ser auto-explicativo. Usted puede encontrar la plena aplicación en el archivo FVWinZip.pas.
la Implementación de las declaraciones
Si nos fijamos en el comienzo de la sección de implementación del código, verá el siguiente código:
{$R FVWinZip.res}
const
& nbsp & nbsp BatchFile = 'tfvzip.bat'
& nbsp & nbsp Zip = 'wzzip'
& nbsp & nbsp Descomprimir = 'wzunzip'
& nbsp & nbsp Nombre = 'zipit.lst'
La primera línea debe ser muy familiar para los que se utilizan para la creación de sus propios componentes. Especifica el archivo de recursos que contiene el icono de nuestro componente. Usted puede crear y diseñar tus propios iconos con cualquier editor de recursos (en Delphi, el valor predeterminado es Imagedit.exe, el cual puede ser encontrado en el directorio bin).
Las constantes declaradas aquí te ayudará a lidiar con los diferentes archivos que se usan en el proceso de creación o la extracción de nuestros archivos zip.
fichero batch es el nombre del archivo por lotes que será creado por nuestro componente. Este archivo tiene la responsabilidad de llamar a uno de los archivos zip (código Postal para comprimir o Descomprimir para descomprimir). El último es Nombre, , que es el nombre de un archivo de texto que contiene una lista de los archivos que se añaden al archivo Zip así como comandos para el programa de línea de comando (muy parecido a como se haría en un archivo por lotes y DOS). ListName sólo se utiliza cuando la propiedad UseFileList de nuestro Zip componente se establece en true y válido de la lista de archivos se introduce en el FileList de la propiedad.
Como he mencionado anteriormente, esta es sólo una de las posibles implementaciones para este componente-definitivamente hay espacio para la mejora. Tener una mirada en el archivo de Ayuda en línea que viene con la interfaz de Línea de Comando Add-on de Soporte para obtener más información.
El código de implementación
Existen dos métodos importantes en la aplicación de la sección me gustaría describir para usted.
La primera es el procedimiento CreateCompressBat (ver Listado 2). En este procedimiento, se crea un archivo de proceso por lotes basado en los requerimientos del usuario. Se especifica la acción a tomar (comprimir/descomprimir), el nombre del archivo a comprimir, el nombre del archivo zip, y si usted está usando un archivo de la lista o no.
Listado 2. El CreateCompressBat rutina.
procedimiento TFVWinZip.CreateCompressBat
var
& nbsp & nbsp F: TextFile
& nbsp & nbsp Comando: string
begin
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp si FzipState = zsCompress, a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Comando:= Zip
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Comando:= Descomprimir
& nbsp & nbsp & nbsp & nbsp { Crear comprimir el archivo de proceso por lotes }
& nbsp & nbsp & nbsp & nbsp AssignFile(F, BatchFile)
& nbsp & nbsp & nbsp & nbsp Rewrite(F)
& nbsp & nbsp & nbsp & nbsp Writeln(F, '@ECHO OFF')

& nbsp & nbsp & nbsp & nbsp Writeln(F, 'REM *** TFVWinZip por F Vicaría ***')
& nbsp & nbsp & nbsp & nbsp si UseFileList, a continuación,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Writeln(F, El comando ' '' ZipFileName
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp '' '' '@zipit.lst' ''')
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Writeln(F, Comando ' '' ZipFileName
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp '' '' nombre de archivo ''')
& nbsp & nbsp & nbsp & nbsp Writeln(F, 'cd/')
& nbsp & nbsp & nbsp & nbsp Writeln(F, 'cls')
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp CloseFile(F)
& nbsp & nbsp final
fin
el segundo es El corazón de nuestro componente. El método Execute (ver Listado 3) iniciará un proceso independiente que se ejecute el archivo por lotes, lo que, a su vez, llamada de WinZip línea de comandos. Esto ayudará a evitar cualquier tipo de dependencia de la velocidad de la máquina en que se ejecuta el programa. Para hacer esto, yo uso dos funciones de la API-CreateProcess y WaitForSingleObject (verificación de la API de Windows archivo de Ayuda para obtener más detalles sobre cómo utilizar estas funciones).
el Listado 3.








Obtener zip funcionalidad gratis


Obtener zip funcionalidad gratis : Multi-millones de consejos para hacer su vida mas facil.


Buscando una manera de integrar el zip y descomprimir la funcionalidad en su aplicacion en el barato? Este es el plan-y Fernando Vicaria incluso ha envuelto todo en un poco aseado componente para usted!


Este articulo aparecio originalmente en Desarrolladores de Delphi
derechos de Autor Pinnacle Publishing, Inc. Todos los derechos reservados.



Usted necesita un fragmento de funcionalidad. Compra un componente o subirse las mangas y empezar en el diseño del mismo? Muy a menudo, usted puede encontrar un freeware componente que hace el trabajo. Desafortunadamente, es comun que los componentes no vienen con origen o a menos que perfecto. Y si eres como yo, que odio a añadir nada a su aplicacion que no viene con el codigo fuente o que no ha sido completamente probado.
Si una caracteristica adicional que usted necesita es la capacidad para comprimir o descomprimir archivos usando el estandar de la industria en formato Zip, entonces estas de suerte!
WinZip 7.0 (y versiones posteriores) ahora tiene su propia linea de comandos de apoyo. Este increiblemente util add-on esta disponible para su descarga a partir de Nico Mak Computing Inc. en su sitio Web: http://www.winzip.com.
¿Cual es tan grande sobre una linea de comandos? Pensar en ello. Ahora usted puede construir un componente llame a la linea de comandos del programa, y todos sus problemas seran solucionados!
he Aqui una manera de hacer precisamente eso.
Llegar WinZip
en Primer lugar, usted necesita para instalar WinZip 7.0. Si usted ya tiene alguna otra version de WinZip, actualizaciones se pueden descargar de forma gratuita desde la URL que acabo de mencionar.
una Vez que usted tiene la version mas reciente, el siguiente paso es descargar e instalar la linea de comandos add-on. Una vez que tienes instalado, asegurese de que se han añadido a la ruta de acceso.
Ahora bien, si se podria construir un componente llame a la linea de comandos del programa y de paso las instrucciones correctas para ejecutar WinZip, que haria comprimir y descomprimir archivos en tu aplicacion de simple!!!
Un tipo enumerado y la declaracion
Este es un ejemplo tipico de lo que la programacion orientada a objetos (y, mas especificamente, Delphi) es todo acerca de. La primera cosa que usted debe hacer es crear un tipo enumerado, donde puede especificar la direccion a la que quieres ir (comprimir o descomprimir):
TZipState = (zsCompress, zsDecompress)
Este tipo le permitira cambiar entre las dos posibles acciones del componente. Listado 1 muestra el componente declaracion.
Listado 1. La compresion/descompresion componente declaracion.
TFVWinZip = clase(TComponent)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp & nbsp & nbsp FFileName: string
& nbsp & nbsp & nbsp & nbsp FUseFileList: boolean
& nbsp & nbsp & nbsp & nbsp FFileList: TStringList
& nbsp & nbsp & nbsp & nbsp FZipFileName: cadena
& nbsp & nbsp & nbsp & nbsp FZipState: TZipState
& nbsp & nbsp & nbsp & nbsp FOnExecute: TNotifyEvent
& nbsp & nbsp & nbsp & nbsp funcion GetFileList: TStringList
& nbsp & nbsp & nbsp & nbsp procedimiento SetFileList(valor: TStringList)
& nbsp & nbsp & nbsp & nbsp procedimiento CreateCompressBat
& nbsp & nbsp publicado
& nbsp & nbsp & nbsp & nbsp { Publicado declaraciones }
& nbsp & nbsp & nbsp & nbsp propiedad FileName: string
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FFileName escribir FFileName
& nbsp & nbsp & nbsp & nbsp propiedad UseFileList: boolean
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FUseFileList escribir FUseFileList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp predeterminado False
& nbsp & nbsp & nbsp & nbsp propiedad FileList: TStringList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer GetFileList escribir SetFileList
& nbsp & nbsp & nbsp & nbsp propiedad ZipState: TZipState
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FZipState escribir FZipState
& nbsp & nbsp & nbsp & nbsp propiedad ZipFileName: string
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FZipFileName escribir FZipFileName
& nbsp & nbsp & nbsp & nbsp propiedad OnExecute: TNotifyEvent
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp leer FOnExecute escribir FOnExecute
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp & nbsp & nbsp constructor Create(AOwner: TComponent) reemplazar
& nbsp & nbsp & nbsp & nbsp destructor Destruir reemplazar
& nbsp & nbsp & nbsp & nbsp procedimiento de Ejecucion
& nbsp & nbsp final
la Mayoria de sus propiedades y los metodos deben ser auto-explicativo. Usted puede encontrar la plena aplicacion en el archivo FVWinZip.pas.
la Implementacion de las declaraciones
Si nos fijamos en el comienzo de la seccion de implementacion del codigo, vera el siguiente codigo:
{$R FVWinZip.res}
const
& nbsp & nbsp BatchFile = 'tfvzip.bat'
& nbsp & nbsp Zip = 'wzzip'
& nbsp & nbsp Descomprimir = 'wzunzip'
& nbsp & nbsp Nombre = 'zipit.lst'
La primera linea debe ser muy familiar para los que se utilizan para la creacion de sus propios componentes. Especifica el archivo de recursos que contiene el icono de nuestro componente. Usted puede crear y diseñar tus propios iconos con cualquier editor de recursos (en Delphi, el valor predeterminado es Imagedit.exe, el cual puede ser encontrado en el directorio bin).
Las constantes declaradas aqui te ayudara a lidiar con los diferentes archivos que se usan en el proceso de creacion o la extraccion de nuestros archivos zip.
fichero batch es el nombre del archivo por lotes que sera creado por nuestro componente. Este archivo tiene la responsabilidad de llamar a uno de los archivos zip (codigo Postal para comprimir o Descomprimir para descomprimir). El ultimo es Nombre, , que es el nombre de un archivo de texto que contiene una lista de los archivos que se añaden al archivo Zip asi como comandos para el programa de linea de comando (muy parecido a como se haria en un archivo por lotes y DOS). ListName solo se utiliza cuando la propiedad UseFileList de nuestro Zip componente se establece en true y valido de la lista de archivos se introduce en el FileList de la propiedad.
Como he mencionado anteriormente, esta es solo una de las posibles implementaciones para este componente-definitivamente hay espacio para la mejora. Tener una mirada en el archivo de Ayuda en linea que viene con la interfaz de Linea de Comando Add-on de Soporte para obtener mas informacion.
El codigo de implementacion
Existen dos metodos importantes en la aplicacion de la seccion me gustaria describir para usted.
La primera es el procedimiento CreateCompressBat (ver Listado 2). En este procedimiento, se crea un archivo de proceso por lotes basado en los requerimientos del usuario. Se especifica la accion a tomar (comprimir/descomprimir), el nombre del archivo a comprimir, el nombre del archivo zip, y si usted esta usando un archivo de la lista o no.
Listado 2. El CreateCompressBat rutina.
procedimiento TFVWinZip.CreateCompressBat
var
& nbsp & nbsp F: TextFile
& nbsp & nbsp Comando: string
begin
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp si FzipState = zsCompress, a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Comando:= Zip
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Comando:= Descomprimir
& nbsp & nbsp & nbsp & nbsp { Crear comprimir el archivo de proceso por lotes }
& nbsp & nbsp & nbsp & nbsp AssignFile(F, BatchFile)
& nbsp & nbsp & nbsp & nbsp Rewrite(F)
& nbsp & nbsp & nbsp & nbsp Writeln(F, '@ECHO OFF')

& nbsp & nbsp & nbsp & nbsp Writeln(F, 'REM *** TFVWinZip por F Vicaria ***')
& nbsp & nbsp & nbsp & nbsp si UseFileList, a continuacion,
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Writeln(F, El comando ' '' ZipFileName
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp '' '' '@zipit.lst' ''')
& nbsp & nbsp & nbsp & nbsp else
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Writeln(F, Comando ' '' ZipFileName
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp '' '' nombre de archivo ''')
& nbsp & nbsp & nbsp & nbsp Writeln(F, 'cd/')
& nbsp & nbsp & nbsp & nbsp Writeln(F, 'cls')
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp CloseFile(F)
& nbsp & nbsp final
fin
el segundo es El corazon de nuestro componente. El metodo Execute (ver Listado 3) iniciara un proceso independiente que se ejecute el archivo por lotes, lo que, a su vez, llamada de WinZip linea de comandos. Esto ayudara a evitar cualquier tipo de dependencia de la velocidad de la maquina en que se ejecuta el programa. Para hacer esto, yo uso dos funciones de la API-CreateProcess y WaitForSingleObject (verificacion de la API de Windows archivo de Ayuda para obtener mas detalles sobre como utilizar estas funciones).
el Listado 3.

Obtener zip funcionalidad gratis

Obtener zip funcionalidad gratis : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación