mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-27 18:50:42 +02:00
* Fix bug ID #36399: add some easy access methods to TZipper/TUnzipper
git-svn-id: trunk@43640 -
This commit is contained in:
parent
0add077916
commit
6747654f7d
@ -453,15 +453,25 @@ Type
|
|||||||
Destructor Destroy;override;
|
Destructor Destroy;override;
|
||||||
Procedure ZipAllFiles; virtual;
|
Procedure ZipAllFiles; virtual;
|
||||||
// Saves zip to file and changes FileName
|
// Saves zip to file and changes FileName
|
||||||
Procedure SaveToFile(AFileName: RawByteString);
|
Procedure SaveToFile(const AFileName: RawByteString);
|
||||||
// Saves zip to stream
|
// Saves zip to stream
|
||||||
Procedure SaveToStream(AStream: TStream);
|
Procedure SaveToStream(AStream: TStream);
|
||||||
// Zips specified files into a zip with name AFileName
|
// Zips specified files into a zip with name AFileName
|
||||||
Procedure ZipFiles(AFileName : RawByteString; FileList : TStrings);
|
Procedure ZipFile(const aFileToBeZipped : RawByteString);
|
||||||
|
Procedure ZipFile(const AZipFileName,aFileToBeZipped : RawByteString);
|
||||||
|
Procedure ZipFiles(const AZipFileName : RawByteString; FileList : TStrings);
|
||||||
|
Procedure ZipFiles(const AZipFileName : RawByteString; const FileList : Array of RawbyteString);
|
||||||
|
Procedure ZipFiles(const aFileList : Array of RawbyteString);
|
||||||
Procedure ZipFiles(FileList : TStrings);
|
Procedure ZipFiles(FileList : TStrings);
|
||||||
// Zips specified entries into a zip with name AFileName
|
// Zips specified entries into a zip with name AFileName
|
||||||
Procedure ZipFiles(AFileName : RawByteString; Entries : TZipFileEntries);
|
Procedure ZipFiles(const AZipFileName : RawByteString; Entries : TZipFileEntries);
|
||||||
Procedure ZipFiles(Entries : TZipFileEntries);
|
Procedure ZipFiles(Entries : TZipFileEntries);
|
||||||
|
// Easy access method
|
||||||
|
// Zip single file
|
||||||
|
Class Procedure Zip(const AZipFileName : RawByteString; const aFileToBeZipped: RawByteString);
|
||||||
|
// Zip multiple file
|
||||||
|
Class Procedure Zip(const AZipFileName : RawByteString; aFileList : Array of RawByteString);
|
||||||
|
Class Procedure Zip(const AZipFileName : RawByteString; aFileList : TStrings);
|
||||||
Procedure Clear;
|
Procedure Clear;
|
||||||
Procedure Terminate;
|
Procedure Terminate;
|
||||||
Public
|
Public
|
||||||
@ -561,9 +571,20 @@ Type
|
|||||||
Constructor Create;
|
Constructor Create;
|
||||||
Destructor Destroy;override;
|
Destructor Destroy;override;
|
||||||
Procedure UnZipAllFiles; virtual;
|
Procedure UnZipAllFiles; virtual;
|
||||||
Procedure UnZipFiles(AFileName : RawByteString; FileList : TStrings);
|
Procedure UnZipFile(const aExtractFileName: RawByteString);
|
||||||
Procedure UnZipFiles(FileList : TStrings);
|
Procedure UnZipFile(const AZipFileName, aExtractFileName: RawByteString);
|
||||||
Procedure UnZipAllFiles(AFileName : RawByteString);
|
Procedure UnZipFiles(const AZipFileName : RawByteString; FileList : TStrings);
|
||||||
|
Procedure UnZipFiles(const AZipFileName : RawByteString; aFileList : Array of RawBytestring);
|
||||||
|
Procedure UnZipFiles(aFileList : TStrings);
|
||||||
|
Procedure UnZipAllFiles(const AZipFileName : RawByteString);
|
||||||
|
// Easy access methods. No instance needed, uses default options.
|
||||||
|
// Unzip all files
|
||||||
|
Class Procedure Unzip(const AZipFileName : RawByteString);
|
||||||
|
// Unzip a single file.
|
||||||
|
Class Procedure Unzip(const AZipFileName : RawByteString;aExtractFileName : RawByteString);
|
||||||
|
// Unzip several files
|
||||||
|
Class Procedure Unzip(const AZipFileName : RawByteString; aFileList : Array of RawByteString);
|
||||||
|
Class Procedure Unzip(const AZipFileName : RawByteString; aFileList : TStrings);
|
||||||
Procedure Clear;
|
Procedure Clear;
|
||||||
Procedure Examine;
|
Procedure Examine;
|
||||||
Procedure Terminate;
|
Procedure Terminate;
|
||||||
@ -1933,7 +1954,7 @@ begin
|
|||||||
SaveToFile(FileName);
|
SaveToFile(FileName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TZipper.SaveToFile(AFileName: RawByteString);
|
procedure TZipper.SaveToFile(const AFileName: RawByteString);
|
||||||
var
|
var
|
||||||
lStream: TFileStream;
|
lStream: TFileStream;
|
||||||
begin
|
begin
|
||||||
@ -1973,6 +1994,17 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TZipper.ZipFile(const aFileToBeZipped: RawByteString);
|
||||||
|
begin
|
||||||
|
ZipFiles([aFileToBeZipped]);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TZipper.ZipFile(const AZipFileName, aFileToBeZipped: RawByteString);
|
||||||
|
begin
|
||||||
|
FileName:=aZipFileName;
|
||||||
|
ZipFile(aFileToBeZipped);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
Procedure TZipper.SetBufSize(Value : LongWord);
|
Procedure TZipper.SetBufSize(Value : LongWord);
|
||||||
|
|
||||||
@ -1991,22 +2023,45 @@ begin
|
|||||||
FFileName:=Value;
|
FFileName:=Value;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure TZipper.ZipFiles(AFileName : RawByteString; FileList : TStrings);
|
Procedure TZipper.ZipFiles(Const AZipFileName : RawByteString; FileList : TStrings);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FFileName:=AFileName;
|
FFileName:=AZipFileName;
|
||||||
ZipFiles(FileList);
|
ZipFiles(FileList);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TZipper.ZipFiles(const AZipFileName: RawByteString; const FileList: array of RawbyteString);
|
||||||
|
|
||||||
|
begin
|
||||||
|
FileName:=aZipFileName;
|
||||||
|
ZipFiles(FileList);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TZipper.ZipFiles(const aFileList: array of RawbyteString);
|
||||||
|
Var
|
||||||
|
L : TStringList;
|
||||||
|
S : RawByteString;
|
||||||
|
begin
|
||||||
|
L:=TStringList.Create;
|
||||||
|
try
|
||||||
|
L.Capacity:=Length(aFileList);
|
||||||
|
for S in aFileList do
|
||||||
|
L.Add(S);
|
||||||
|
ZipFiles(L);
|
||||||
|
finally
|
||||||
|
L.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TZipper.ZipFiles(FileList: TStrings);
|
procedure TZipper.ZipFiles(FileList: TStrings);
|
||||||
begin
|
begin
|
||||||
FFiles.Assign(FileList);
|
FFiles.Assign(FileList);
|
||||||
ZipAllFiles;
|
ZipAllFiles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TZipper.ZipFiles(AFileName: RawByteString; Entries: TZipFileEntries);
|
procedure TZipper.ZipFiles(const AZipFileName: RawByteString; Entries: TZipFileEntries);
|
||||||
begin
|
begin
|
||||||
FFileName:=AFileName;
|
FFileName:=AZipFileName;
|
||||||
ZipFiles(Entries);
|
ZipFiles(Entries);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2016,6 +2071,36 @@ begin
|
|||||||
ZipAllFiles;
|
ZipAllFiles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class procedure TZipper.Zip(const AZipFileName: RawByteString; const aFileToBeZipped: RawByteString);
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
ZipFile(aZipFileName,aFileToBeZipped);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TZipper.Zip(const AZipFileName: RawByteString; aFileList: array of RawByteString);
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
ZipFiles(aZipFileName,aFileList);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TZipper.Zip(const AZipFileName: RawByteString; aFileList: TStrings);
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
ZipFiles(aZipFileName,aFileList);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
Procedure TZipper.DoEndOfFile;
|
Procedure TZipper.DoEndOfFile;
|
||||||
|
|
||||||
Var
|
Var
|
||||||
@ -2832,26 +2917,106 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TUnZipper.UnZipFiles(AFileName: RawByteString; FileList: TStrings);
|
procedure TUnZipper.UnZipFile(const aExtractFileName: RawByteString);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FFileName:=AFileName;
|
UnzipFile(FFileName, aExtractFileName);
|
||||||
UNzipFiles(FileList);
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TUnZipper.UnZipFiles(FileList: TStrings);
|
procedure TUnZipper.UnZipFile(const AZipFileName, aExtractFileName: RawByteString);
|
||||||
|
var
|
||||||
|
L: TStrings;
|
||||||
begin
|
begin
|
||||||
FFiles.Assign(FileList);
|
FFileName := AZipFileName;
|
||||||
|
L := TStringList.Create;
|
||||||
|
try
|
||||||
|
L.Add(aExtractFileName);
|
||||||
|
UnzipFiles(L);
|
||||||
|
finally
|
||||||
|
L.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TUnZipper.UnZipFiles(const AZipFileName: RawByteString; FileList: TStrings);
|
||||||
|
|
||||||
|
begin
|
||||||
|
FFileName:=AZipFileName;
|
||||||
|
UnZipFiles(FileList);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TUnZipper.UnZipFiles(const AZipFileName: RawByteString; aFileList: array of RawBytestring);
|
||||||
|
|
||||||
|
Var
|
||||||
|
L : TStringList;
|
||||||
|
S : RawByteString;
|
||||||
|
|
||||||
|
begin
|
||||||
|
L:=TStringList.Create;
|
||||||
|
try
|
||||||
|
L.Capacity:=Length(aFileList);
|
||||||
|
for S in aFileList do
|
||||||
|
L.Add(S);
|
||||||
|
UnZipFiles(aZipFileName,L);
|
||||||
|
finally
|
||||||
|
L.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TUnZipper.UnZipFiles(aFileList: TStrings);
|
||||||
|
begin
|
||||||
|
FFiles.Assign(aFileList);
|
||||||
UnZipAllFiles;
|
UnZipAllFiles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TUnZipper.UnZipAllFiles(AFileName: RawByteString);
|
procedure TUnZipper.UnZipAllFiles(const AZipFileName: RawByteString);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
FFileName:=AFileName;
|
FFileName:=AZipFileName;
|
||||||
UnZipAllFiles;
|
UnZipAllFiles;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class procedure TUnZipper.Unzip(const AZipFileName: RawByteString);
|
||||||
|
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
FileName:=aZipFileName;
|
||||||
|
UnZipAllFiles;
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TUnZipper.Unzip(const AZipFileName: RawByteString; aExtractFileName: RawByteString);
|
||||||
|
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
UnZipFile(aZipFileName,aExtractFileName);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TUnZipper.Unzip(const AZipFileName: RawByteString; aFileList: array of RawByteString);
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
UnZipFiles(aZipFileName,aFileList);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
class procedure TUnZipper.Unzip(const AZipFileName: RawByteString; aFileList: TStrings);
|
||||||
|
begin
|
||||||
|
With Self.Create do
|
||||||
|
try
|
||||||
|
UnZipFiles(aZipFileName,aFileList);
|
||||||
|
finally
|
||||||
|
Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TUnZipper.DoEndOfFile;
|
procedure TUnZipper.DoEndOfFile;
|
||||||
|
|
||||||
Var
|
Var
|
||||||
|
Loading…
Reference in New Issue
Block a user