2009-08-25 6 views
2

私はかなりのコードを試しましたが、どれも私が望むように動作しないようです。zlibディレクトリ(パスを保存する)

すべてのパスを保存しながら、フォルダ内のすべてのファイルとサブディレクトリ(フォルダ自体ではなく)をzlib(データのチャンクにすべてのファイルを追加するだけでOK)すると、すべてを同じフォルダにダンプするのではなく、正しいパスを使用してください。

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; 

答えて

5

サブフォルダを圧縮したい場合は圧縮再帰を有効にする

z.CompressDirectory(edSrcFolder.Text,True,edFilename.Text); 

にこのライン

z.CompressDirectory(edSrcFolder.Text,False,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; 

Bye。

+0

華麗で魅力的です! ありがとうございました! – Tom

+0

私はこのサイトを初めて利用しています。あなたのランキングに影響を与える+1、投票、その他のものは何でもありますか? – Tom

+0

@Tom。回答を受け入れて、15ポイントを返す... –

関連する問題