2012-04-21 8 views
2

http://www.7-zip.org/sdk.html
は、私はそれがファイルを圧縮使用することができますが、あなたは内のフォルダのすべてのファイルが含まれ、その後、.7zアーカイブを作成する必要がありますフォルダどのようにフォルダを圧縮するにはlzma sdkを使用しますか?

+0

どのバージョンのDelphiですか?あなたはXEで追加されたZIPを検討しますか? –

+0

7z ZIPとrarより大きい圧縮率 – babaloveyou

答えて

2

を圧縮する機能を見つけることができません。直接の「フォルダ」圧縮はありません。ファイルの圧縮だけです。ファイル名(「FolderName \ FileName」など)に(相対)フォルダ名を保存すると、アーカイブ内に「FolderName」というフォルダが表示されます。

例では、7z圧縮解除のANSI-C互換ソースコードがSDK内にあります。 フォルダのすべてのファイルをアーカイブに追加するには、サブフォルダを含めたい場合はFindFirst/FindNext/FindCloseと再帰を使用してください。

編集:実際には、sdkに0.7zの書き込みはありません。 sdk内の.7zアーカイブからのオープン/展開のみ。あなたは手でそれをコード化しなければならないでしょう...だからおそらくUsing 7-Zip from Delphi?の答えがここに役立ちます。

+0

7 zipにアーカイブ/ディレクトリ機能がないのですか? –

+0

lzma sdkにはアーカイブ/ディレクトリ機能がありません – babaloveyou

+0

@DavidHeffernan SDKには、次の2つのレベルがあります。1.圧縮(ストリームまたはバッファー上)。 2.7zアーカイブ形式。 .7zアーカイブ形式は、アーカイブ/ディレクトリ機能を処理します。 –

関連する問題