! Класс для Zlib ZipClass Class,Module('ZipClass.clw'),Link('ZipClass.clw'),Type ZipFile Long,Private ZipDirectory &File:Queue CurrentFile Cstring(260),Private ! Имя текущего файла ErrorCode Long,Private Error Cstring(100),Private Throw Procedure(String Message,Long=1)Long,Proc,Virtual ! Обработчик сообщений об ошибке Mode String(1) ! Открыто на чтение или запись ZipOpen Procedure(String),Long,Proc ! Открыть файл на чтение ZipUnpack Procedure(String),Long,Proc ! Распаковать файлы по шаблону в текущий каталог. ZipClose Procedure() ! Закрыть архив ZipCreate Procedure(String,Long=0,*String),Long,Proc ! Имя архива и режим Append и имя фактически созданного архива (может быть обрезано до 8 символов при создании) ZipDirectory Procedure(*File:Queue) ! Считать данные из открытого архива ZipValidateRecord Procedure(String),Long,Virtual ! Проверка необходимости упаковки файла ZipErrorCode Procedure(),Long ! Код завершения предыдущей операции ZipError Procedure(),String ZipAddFile Procedure(String,Long=0),Long,Proc ! Добавить файл или список по шаблону в архив ZipAddDirectory Procedure(String Directory,String FileNames),Long,Proc ! Перейти в каталог и там запаковать ZipBlobPack Procedure(*Blob,Long=0),Long,Proc ! Упаковка Blob "на месте" zipBlobUnpack Procedure(*Blob),Long,Proc ! Распаковка Blob "на месте" Construct Procedure Destruct Procedure End ! Пример упаковки ! Z ZipClass ! Z.ZipCreate('File.zip') ! Z.ZipAddFile('*.tps') ! Z.ZipClose() ! Пример распаковки ! Z ZipClass ! Z.ZipOpen('File.zip') ! Z.Zipunpack('*.*') ! Z.ZipClose()