Delphi XE 2はSystemを追加した.Zipユニットは、一言でフォルダ全体を圧縮できます
1527 ワード
ユニット内は主にTZipFileクラスで、最も使いやすいのはそのクラス方法です.
TZipFile.ExtractZipFile() // Zip
TZipFile.IsValid() // Zip
TZipFile.ZipDirectoryContents() //
テスト:
uses System.Zip;
{ C:\Temp\TestDir C:\Temp\Test.zip }
procedure TForm1.Button1Click(Sender: TObject);
begin
TZipFile.ZipDirectoryContents('C:\Temp\Test.zip', 'C:\Temp\TestDir\'); // 3
end;
{ C:\Temp\Test.zip C:\Temp\TestDir2\ }
procedure TForm1.Button2Click(Sender: TObject);
begin
TZipFile.ExtractZipFile('C:\Temp\Test.zip', 'C:\Temp\TestDir2\');
end;
クラスをインスタンス化する方法:
uses System.Zip;
{ }
procedure TForm1.Button1Click(Sender: TObject);
var
zip: TZipFile;
begin
zip := TZipFile.Create;
zip.Open('C:\Temp\001.zip', TZipMode.zmWrite); // 001.zip
zip.Add('C:\Temp\Test.txt', 'Test.txt'); // 1 ; 2 ; 3
// zip.Add...
// zip.Close; //Close ;
zip.Free;
end;
{ }
procedure TForm1.Button2Click(Sender: TObject);
var
zip: TZipFile;
begin
zip := TZipFile.Create;
zip.Open('C:\Temp\001.zip', TZipMode.zmRead);
zip.ExtractAll('C:\Temp\002\');
zip.Free;
end;