HasMoreData Property

Shows whether or not there is more data in the gzip archive.

Syntax

ANSI (Cross Platform)
int GetHasMoreData();

Unicode (Windows)
BOOL GetHasMoreData();
@property (nonatomic,readonly,assign,getter=hasMoreData) BOOL hasMoreData;
- (BOOL)hasMoreData;
#define PID_GZIP_HASMOREDATA 11

IPWORKSZIP_EXTERNAL void* IPWORKSZIP_CALL IPWorksZip_Gzip_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);

Default Value

FALSE

Remarks

The Gzip format described in RFC 1952 allows multiple gzipped data members to be concatenated into a single file. However, due to the nature of the algorithm it is impossible to determine the number of data members until after the entire archive has been decompressed. The HasMoreData property can be used to cycle through the archive and extract each file.

Simply set the ArchiveFile and ExtractToPath properties, then call Extract as long as the class has available data.

Note: the class will not update FileDecompressedName unless you call Scan or manually set FileDecompressedName on each loop before calling Extract.

Example (Extracting Multiple Files)


ZipControl.ArchiveFile = "c:\temp.zip"
ZipControl.ExtractToPath = "c:\extracted\"
Do
  ZipControl.Scan()
  //here you may inspect the file name in FileDecompressedName prior to extraction
  ZipControl.Extract()
While ZipControl.HasMoreData

This property is read-only.

Data Type

Boolean

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks ZIP 2020 C++ Edition - Version 20.0 [Build 8300]