2011-09-16 4 views
5

Sto cercando un componente di compressione che supporta Delphi2010 e mi permetterà di fare le operazioni di base di:compressione componente

  • creare .zip archivi
  • estratto dagli archivi .zip
  • eliminare gli archivi .zip

Ho anche bisogno che il componente sia libero per uso commerciale e possibilmente non usi/faccia affidamento su una DLL (non mi importa se lo fa).

Finora ho guardato in ZipForge, FlexCompress, KaZip e UnRAR, ma ho scoperto che avevo bisogno di acquistare una licenza per l'uso commerciale e ZipForge FlexCompress. Quando si trattava di KaZip, c'erano errori nel codice quindi non ho avuto successo in termini di installazione del componente. Mentre UnRAR era proprio questo; ha solo decompresso archivi .zip o .rar.

Quindi, in sintesi, Ho bisogno di un componente di compressione che:

  • è gratuito per uso commerciale
  • supporta Delphi 2010
  • esegue le operazioni di cui sopra
  • non usa DLL (tuttavia, non mi interessa)
+1

Controllare [questa domanda SO.] [1] [1]: http://stackoverflow.com/questions/1770386/freeware-zip-component-for-delphi-2010-delphi-xe –

risposta

8

Ilservirà bene ai tuoi scopi.

+0

C'è un posto dove posso ottenere aiuto con Abbreviate? Oppure vedi esempi di codice? – ple103

+3

L'abbreviazione era un prodotto commerciale e la documentazione PDF è/era eccellente. Include diversi tutorial per iniziare e il download di origine include una cartella "Examples" con un gruppo di esempi in Delphi e C++ Builder. Non ho aggiornato esplicitamente gli esempi per il supporto Unicode, ma la maggior parte di essi verrà compilata così com'è. Se avete domande è meglio postare nei forum di Abbrevia in SourceForge, ma qui o anche i newsgroup di .thirdparty di Embarcadero funzionano. –

3

Il JCL ha un bel set di classi di compressione per entrambi i file (ad esempio formati di archivio comuni) e per a roba di memoria (TStreams) nell'unità jclCompression. Per alcuni formati richiede DLL, utilizza 7zip uno. Ma è open source e gratuito (MPL/LGPL).

+0

+1 per JCompression. Davvero semplice da usare, MA ... mancanza di documentazione! Almeno, gli esempi aiuteranno. – TridenT

2

Date un'occhiata a questo OpenSource SynZip unit. È ancora più veloce per la decompressione rispetto all'unità predefinita fornita con Delphi e genererà un exe più piccolo (le tabelle crc vengono create all'avvio).

Per eliminare un contenuto zip, è possibile combinare TZipWriter e TZipReader per copiare solo i file archiviati necessari all'interno dello zip.

Non è necessaria alcuna DLL esterna. Overhead di codice molto piccolo. Funziona da Delphi 6 a XE (a breve per XE2).

Ho appena apportato alcune modifiche per gestire i nomi dei file Unicode all'interno del contenuto Zip, non solo il set di caratteri di Win-Ansi ma tutti i caratteri Unicode.