Sample code for 30+ languages & platforms
Lianja

Find a ZIP Entry by EntryID Using EntryById

See more Zip Examples

This example demonstrates how to use the EntryById method to retrieve a ZIP entry using its unique EntryID.

Each ZipEntry object has an EntryID property that uniquely identifies the entry within the currently open ZIP object.

This is useful when:

  • An application stores EntryID values for later use
  • ZIP entries need to be retrieved without searching by filename
  • Multiple entries may have similar names or paths

The example:

  • Opens a ZIP archive
  • Retrieves an entry using EntryAt
  • Saves the entry's EntryID
  • Uses EntryById to retrieve the same entry later

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

llSuccess = .F.

// Open an existing ZIP archive.
loZip = createobject("CkZip")

llSuccess = loZip.OpenZip("example.zip")
if (llSuccess = .F.) then
    ? loZip.LastErrorText
    release loZip
    return
endif

// Retrieve the first entry in the ZIP archive.
loEntry = createobject("CkZipEntry")

llSuccess = loZip.EntryAt(0,loEntry)
if (llSuccess = .F.) then
    ? loZip.LastErrorText
    release loZip
    release loEntry
    return
endif

? "Original entry:"
? "  FileName: " + loEntry.FileName
? "  EntryID: " + str(loEntry.EntryID)
? ""

// Save the EntryID for later use.
lnEntryId = loEntry.EntryID

// Create another ZipEntry object.
loEntry2 = createobject("CkZipEntry")

// Retrieve the same entry using EntryById.
llSuccess = loZip.EntryById(lnEntryId,loEntry2)
if (llSuccess = .F.) then
    ? loZip.LastErrorText
    release loZip
    release loEntry
    release loEntry2
    return
endif

? "Entry retrieved by EntryID:"
? "  FileName: " + loEntry2.FileName
? "  EntryID: " + str(loEntry2.EntryID)
? ""

// The filenames and EntryID values should match.
loZip.CloseZip()

? "Done."


release loZip
release loEntry
release loEntry2