HasMoreData Property
Shows whether or not there is more data in the gzip archive.
Syntax
gzip.getHasMoreData([callback])
Default Value
FALSE
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for the getHasMoreData([callback]) method is defined as:
function(err, data){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'data' is the value returned by the method.
The callback for the setHasMoreData([callback]) method is defined as:
function(err){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
err.code err.message
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 <a href="Gzip_p_FileDecompressedName.htm">FileDecompressedName</a> prior to extraction
ZipControl.Extract()
While ZipControl.HasMoreData
This property is read-only.
Data Type
Boolean