我尝试了很多代码,但似乎没有一个能按照我想要的方式工作。
如何在保存所有路径的同时 zlib(无需压缩,只需将所有文件添加到数据 block 即可)文件夹中的所有文件和子目录(但不是文件夹本身),以便将它们提取到所有正确的位置路径而不是将所有内容转储到同一文件夹中。
我有 jvcl 代码,但它不压缩子文件夹。
procedure TJvZLibMultipleMainForm.btnCompressClick(Sender: TObject);
var
z : TJvZlibMultiple;
begin
ForceDirectories(ExtractFilePath(edFilename.Text));
z := TJvZlibMultiple.Create(nil);
Screen.Cursor := crHourGlass;
try
lblFilename.Caption := '';
pbProgress.Position := 0;
z.OnProgress := DoProgress;
z.OnCompressingFile := DoCompressFile;
z.CompressDirectory(edSrcFolder.Text,false,edFilename.Text);
finally
z.Free;
Screen.Cursor := crDefault;
end;
pbProgress.Position := 0;
lblFilename.Caption := 'Ready';
end;
最佳答案
如果你想压缩子文件夹必须更改此行
z.CompressDirectory(edSrcFolder.Text,False,edFilename.Text);
至
z.CompressDirectory(edSrcFolder.Text,True,edFilename.Text);
激活压缩递归。
// compresses a Directory (recursing if Recursive is true)
// and saves the compressed result to FileName
procedure CompressDirectory(Directory: string; Recursive: Boolean; FileName: string); overload;
再见。
关于delphi - zlib目录(保存路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326972/