Страница 1 из 1
unzip файлов при помощи тотала
Добавлено: Вс июл 11, 2010 20:06
Gentoo69
Делаю content плагин .Нужно распаковать zip файлы в память, ищу чем бы это сделать (пока chiefzip 2003 года). Желательно чтобы была распаковка поблочная, - мне весь файл не надо распаковывать, всего первые 2-5 кб.
Было бы идеально заюзать для этого WCMZIP32.DLL или встроенные фичи тотала, если это возможно.
Пишу на Delphi 2009.
Подскажите возможно ли это (втч. поблочная распаковка) и как это сделать?
Добавлено: Пн июл 12, 2010 12:33
Моторокер
У TZipForge есть событие
onFileProgress(Sender: TObject; FileName: String; Progress: Double; Operation: TZFProcessOperation; ProgressPhase: TZFProgressPhase; var Cancel: Boolean)
Думаю, переменная Cancel - это то, что надо. Кол-во байт от процентов вычислить несложно.
Добавлено: Пн июл 12, 2010 15:16
Alextp
в исходнике OpenOffice.org simple viewer есть dll. К ней в папке Proc - Делфи-интерфейс. В нем - WizUnzipToMemory
Добавлено: Пн июл 12, 2010 15:50
Gentoo69
Alextp писал(а):в исходнике OpenOffice.org simple viewer есть dll. К ней в папке Proc - Делфи-интерфейс. В нем - WizUnzipToMemory
Это Info-Zip's header files for its UnZip32.dll - известная фича. Хотелось бы конечно чтобы не таскать с собой dll . В принципе можно заюзать ZipForge - он без исходиков но со скомпилинной dcu. Тут фишка в том что туда входят и компрессор и остальное, - т.е. будет мертвый груз в пределах 200 кб.
Добавлено: Пн июл 12, 2010 15:51
Gentoo69
Моторокер писал(а):У TZipForge есть событие
onFileProgress(Sender: TObject; FileName: String; Progress: Double; Operation: TZFProcessOperation; ProgressPhase: TZFProgressPhase; var Cancel: Boolean)
Думаю, переменная Cancel - это то, что надо. Кол-во байт от процентов вычислить несложно.
Я смотрел их компонент, там есть отдельная фича для этого, указываешь размер буфера и все.