e-CryptIt Engine - Compression Xojo Plugin |

# ZipArchiveWriter.AddItem Method (console safe)

Adds a file or a directory recursively to the Zip archive.

AddItem(
item as FolderItem,
compressionMethod as CompressionMethodEnum,
progress as ZipArchive.ProgressDelegate)

#### Parameters

item
  The file or directory to be added.
compressionMethod
  Compression method. This can be any one of the constant from the CompressionMethodEnum on this class.
progress
  Optional parameter that takes progress delegate. Default value is nil.

#### Remarks

This function is high level function that internally uses the lower level functions.
If you want to make custom handling for this then the AddItem is equal to the following code:

Sub AddItem(zip as EinhugurZipArchives.ZipArchiveWriter,f as FolderItem,compressionMethod as EinhugurZipArchives.ZipArchiveWriter.CompressionMethodEnum)
if not f.Alias then
if f.Directory then
AddItemRecursive(zip,f,f.Name + "/",compressionMethod)
else
zip.AddFile(f,"",compressionMethod)
end if
end if
End Sub
Sub AddItemRecursive(zip as EinhugurZipArchives.ZipArchiveWriter,f as FolderItem,path as String, compressionMethod as EinhugurZipArchives.ZipArchiveWriter.CompressionMethodEnum)
Dim itemCount as Integer
Dim item as FolderItem
Dim extendedPath as String
itemCount = f.Count
if itemCount = 0 then
zip.AddEmptyDirectory(path + f.Name + "/","")
else
for i as Integer = 1 to itemCount
item = f.Item(i)
if not item.Alias then
if item.Directory then
AddItemRecursive(zip,item,path + item.Name + "/" ,compressionMethod)
else
zip.AddFile(item,path,"",compressionMethod)
end if
end if
next
end if
End Sub

#### See Also

ZipArchiveWriter Class