2011-09-16 25 views
5

Busco a un componente de compresión que soporta Delphi2010 y me permite hacer las operaciones básicas de:compresión componente

  • archivos .zip crear
  • extracto de archivos .zip
  • borrar archivos .zip

También necesito que el componente sea gratuito para uso comercial y posiblemente no use/dependa de una DLL (no me importa si lo hace).

Hasta aquí he mirado en ZipForge, FlexCompress, KaZip y UnRAR, pero descubrí que tenía que comprar una licencia para usar comercialmente ZipForge y FlexCompress. Cuando se trataba de KaZip, había errores en el código, así que no tuve éxito en términos de instalar el componente. Mientras que UNRAR era solo eso; solo descomprimió archivos .zip o .rar.

Así que en resumen, necesito un componente de compresión que:

  • es libre para uso comercial
  • apoya Delphi 2010
  • realiza las operaciones indicadas anteriormente
  • no se emplea DLL (sin embargo, no me importa)
+1

Consulte [esta pregunta SO.] [1] [1]: http://stackoverflow.com/questions/1770386/freeware-zip-component-for-delphi-2010-delphi-xe –

Respuesta

8

Abbrevia servirá a tus propósitos muy bien.

+0

¿Hay algún sitio donde pueda obtener ayuda con Abbrevia? ¿O ver ejemplos de código? – ple103

+3

Abbrevia solía ser un producto comercial, y la documentación en PDF es/fue excelente. Incluye varios tutoriales para que pueda comenzar, y la descarga de la fuente incluye una carpeta de "Ejemplos" con un montón de ejemplos en Delphi y C++ Builder. No actualicé explícitamente los ejemplos para el soporte de Unicode, pero la mayoría compilará como está. Si tiene alguna pregunta, lo mejor es publicarla en los foros de Abbrevia en SourceForge, pero aquí o en los grupos de noticias de Third Party de Embarcadero también funcionan. –

3

El JCL tiene un buen conjunto de clases de compresión para ambos archivos (es decir, los formatos de archivo comunes) y en el material de memoria (TStreams) en la unidad jclCompression. Para algunos formatos requiere DLL, usa 7zip uno. Pero es de código abierto y gratuito (MPL/LGPL).

+0

+1 para JclCompression. Realmente fácil de usar, PERO ... ¡falta de documentación! Al menos, los ejemplos ayudarán. – TridenT

2

Tome un vistazo a este OpenSource SynZip unit. Es incluso más rápido para la descompresión que la unidad predeterminada incluida con Delphi, y generará un exe más pequeño (las tablas crc se crean al inicio).

Para eliminar un contenido zip, puede mezclar TZipWriter y TZipReader para copiar solo los archivos archivados necesarios dentro del zip.

No se necesita dll externo. Muy pequeño código de arriba. Funciona desde Delphi 6 a XE (próximamente para XE2).

Acabo de realizar algunos cambios para manejar los nombres de archivo Unicode dentro del contenido Zip, no solo el juego de caracteres Win-Ansi, sino también cualquier carácter Unicode.