ImageEn, unit iemio

TImageEnMIO.ExtractFromStreamZIP

TImageEnMIO.ExtractFromStreamZIP


Declaration

function ExtractFromStreamZIP(Stream: TStream; SelectedOnly: Boolean; const DestFolder: string; UseFullPath: Boolean = True; const Password: string = ''): Boolean; overload;
function ExtractFromStreamZIP(Stream: TStream; FileIndex: Integer; const DestFolder: string; UseFullPath: Boolean = True; const Password: string = ''): Boolean; overload;
function ExtractFromStreamZIP(Stream: TStream; FileIndexes: TCardinalArray; Count: Integer; const DestFolder: string; UseFullPath: Boolean = True; const Password: string = ''): Boolean; overload;


Description

Extracts one or all files from ZIP archive streamm to the specified folder.
If SelectedOnly = true, the selected files in the associated TImageEnMView will be extracted (selected folders will be ignored). If SelectedOnly = False, all files will be extracted. Otherwise you can specify the indexes of one or more files.
Specify -1 to extract all files, or specify an index of a specific file. The file(s) will be output to the specified folder.
If UseFullPath = False, then all files will be output to the specified folder. If UseFullPath = true, then the folder structure of the zip will be created within the specified path.
If the file is encrypted you can specify the password (otherwise a password prompt will be displayed if AutoPromptForPassword is enabled).
The result will be false if an error is encountered, e.g. the file in the stream is not ZIP format or a ZIP plug-in is not found (Aborting will be true).



Note:
ZIP extraction requires the 7z plug-in from: www.imageen.com/download/
ExtractFromStreamZIP does not reset the position of the stream, so you may need to first call Stream.Position := 0;
To abort while extracting set Aborting to true
Read more about ImageEn ZIP Support


Examples

// Extract all files from a zip (Recreating the internal zip folder structure)
ImageEnMView1.MIO.ExtractFromStreamZIP( Stream, False, 'D:\Out\', True );

// Extract the selected files from a zip
ImageEnMView1.MIO.ExtractFromStreamZIP( Stream, True, 'D:\Out\', False );

// Extract the first file from a zip
ImageEnMView1.MIO.ExtractFromStreamZIP( Stream, 0, 'D:\Out\', False );

// Extract three files from a zip
images[0] := 2;
images[1] := 4;
images[2] := 5;
ImageEnMView1.MIO.ExtractFromStreamZIP( Stream, images, 3, 'D:\Out\', False );