Delphi を使用して、複数のファイルを 1 つのアーカイブに圧縮する必要があります。私は非常に安価なので、フリーウェア コンポーネントまたはオープン ソース コンポーネントを使用することを好みます :-)
私の主な要件は次のとおりです。
- アーカイブの暗号化が可能
- WinZip のコピーがあれば誰でも開くことができる共通のアーカイブを作成できます
使用したコンポーネントに関する提案はありますか? 無料および商用のコンポーネント/ライブラリを自由に提案してください。
Delphi を使用して、複数のファイルを 1 つのアーカイブに圧縮する必要があります。私は非常に安価なので、フリーウェア コンポーネントまたはオープン ソース コンポーネントを使用することを好みます :-)
私の主な要件は次のとおりです。
使用したコンポーネントに関する提案はありますか? 無料および商用のコンポーネント/ライブラリを自由に提案してください。
おそらく、DelphiZipはあなたが探しているものです。暗号化もサポートしているようで、WinZip と互換性があります。LGPL の下でリリースされます。
KaZipはオープンソースの ZIP アーカイバです。その説明は次のとおりです。
KAZIP は、最も一般的な ZIP 形式を使用する、高速でシンプルな ZIP アーカイバおよびディアアーカイブです。Inflate - Deflate zip 圧縮形式 (暗号化のサポートもマルチディスクのサポートもありません)。KAZip は完全に Delphi VCL に基づいています。.KAZip は完全にストリーム指向であるため、一時ファイルなどを作成することなくメモリ内のデータのみを処理できます。アプリケーションに zip-unzip 機能を追加する必要がある場合は、KAZIP が適切なソリューションです。簡単に視覚化するための追加の ZipListView および ZipTreeView コンポーネント。選択、選択解除、チェック;ファイルとストリームへの抽出;ファイルの削除と名前の変更フォルダの作成、削除、名前の変更テスト、修復多くの新しいプロパティとメソッド、速度の向上.非常に複雑な Zip Browser デモ アプリケーションが含まれています
Delphi 2009 とはまだ互換性がありませんが、ソース コードに若干の変更を加えることで、Delphi 2009 でも動作するようにすることができます。実際、それは私がしたことです。
よろしく
ComponentAceの 69 ドルのZipForgeをお勧めします。
madCollectionのmadZipを使用しています
JclCompression についてまだ誰も言及していないことに驚いています。これは、有名な Jedi Code Library (JCL) の一部です。ユニット自体のビューは次のとおりです。http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/common/JclCompression.pas?view=markup
7-zip DLL バージョン 4.64 と互換性があることに注意してください。新しいバージョンは後方互換性がない可能性があります...
注目すべきもう 1 つの Delphi リソースは、InnoSetupです。ソースコードが利用可能で、少し手を加えるだけで、あなたがやろうとしていることの優位性が得られるかもしれません. WinZip と互換性のある自己解凍 zip アーカイブを作成するオプションがあります。
私の考えでは、プログラムを使用するのではなく、彼のソースを出発点として使用します。これは、非常に厳しくテストされ、非常に安定しているためです。
Pascal 用の 7zip (LZMA) バインディングを使用できます (Delphi と互換性があります): http://www.birtles.org.uk/programming/
infozip zip32 および unzip32 dllがあります。これらは Delphi から (Visual Basic からでも) 使用でき、両方のインターフェース ユニット/モジュールがあります。インターフェースは私が望んでいたほど良くはありませんが、機能します。