Sample code for 30+ languages & platforms
Visual FoxPro

Find a ZIP Entry by Exact Path Using EntryOf

See more Zip Examples

This example demonstrates how to use the EntryOf method to find a ZIP entry whose stored path exactly matches a specified path.

Unlike EntryMatching, which performs wildcard matching, EntryOf performs an exact path lookup.

This method is useful when:

  • The exact ZIP path is already known
  • Retrieving a specific file or directory entry
  • Verifying whether a particular entry exists in the ZIP archive

Suppose the ZIP archive contains:

docs/
docs/readme.txt
docs/manual.pdf
images/logo.png
data/config/settings.json

ZIP archives may optionally contain explicit directory entries such as docs/. These directory entries can also be retrieved using EntryOf.

The example:

  • Finds an exact file entry
  • Finds an exact directory entry
  • Demonstrates the difference between file and directory entries

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loZip
LOCAL loEntry

lnSuccess = 0

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

lnSuccess = 0

* Open an existing ZIP archive.
loZip = CreateObject('Chilkat.Zip')

lnSuccess = loZip.OpenZip("example.zip")
IF (lnSuccess = 0) THEN
    ? loZip.LastErrorText
    RELEASE loZip
    CANCEL
ENDIF

loEntry = CreateObject('Chilkat.ZipEntry')

* ------------------------------------------------------------
* Find a specific file entry by its exact ZIP path.

lnSuccess = loZip.EntryOf("docs/readme.txt",loEntry)

IF (lnSuccess = 1) THEN
    ? "Found file entry:"
    ? "  FileName = " + loEntry.FileName
    ? "  IsDirectory = " + STR(loEntry.IsDirectory)
    ? ""
ENDIF

* ------------------------------------------------------------
* Find a directory entry.
* 
* ZIP archives may optionally contain explicit directory entries.
* In this example, "docs/" is a separate directory entry.

lnSuccess = loZip.EntryOf("docs/",loEntry)

IF (lnSuccess = 1) THEN
    ? "Found directory entry:"
    ? "  FileName = " + loEntry.FileName
    ? "  IsDirectory = " + STR(loEntry.IsDirectory)
    ? ""
ENDIF

* ------------------------------------------------------------
* Attempt to find a non-existent entry.

lnSuccess = loZip.EntryOf("images/missing.png",loEntry)

IF (lnSuccess = 0) THEN
    ? "The entry images/missing.png was not found."
ENDIF

loZip.CloseZip()

? "Done."

RELEASE loZip
RELEASE loEntry