Использование ZIP
Модератор: Модераторы
-
ViruZ
- постоялец
- Сообщения: 175
- Зарегистрирован: 30.05.2005 17:41:12
- Откуда: Украина
- Контактная информация:
Использование ZIP
Какие библиотеки (желательно со ссылками) можно использовать в FP для создания ZIP-архивов? Хочу создавать со своей программы файлы в формате OpenDocument, описание формата скачал, там достаточно просто - несколько XML-файлов, запакованых в ZIP-архив, с XML понятно, а как запаковать - не могу разобраться. Вроде как для этого используется ZLIB?
-
Replicator
- постоялец
- Сообщения: 154
- Зарегистрирован: 30.04.2006 17:14:45
- Откуда: Outer Heaven
- Контактная информация:
Почти все компоненты можно найти в
http://wiki.lazarus.freepascal.org/inde ... e_examples
http://sourceforge.net/project/showfile ... _id=193581
в частности возможно тебе пригодится FreePascalArchivePackage
http://wiki.lazarus.freepascal.org/inde ... ivePackage
Сам я им не пользовался и не знаю на сколько он хорош.
http://wiki.lazarus.freepascal.org/inde ... e_examples
http://sourceforge.net/project/showfile ... _id=193581
в частности возможно тебе пригодится FreePascalArchivePackage
http://wiki.lazarus.freepascal.org/inde ... ivePackage
Сам я им не пользовался и не знаю на сколько он хорош.
-
@lex
- постоялец
- Сообщения: 180
- Зарегистрирован: 19.06.2006 13:16:29
- Откуда: Невинномысск
- Контактная информация:
А можно конкретно про zlib спросить:
В стандартном наборе FPC 2.0.2 есть пример использования, в файле minigzip.pas. Для создания архивного файла вызывается функция gzopen (outname, mode). Первый параметр понятен, а вот что нужно передать в mode (string) - попробовал пустоту ('') - выдает ошибку при создании файла, а если хоть чего нибудь написать, то Access Violation
В стандартном наборе FPC 2.0.2 есть пример использования, в файле minigzip.pas. Для создания архивного файла вызывается функция gzopen (outname, mode). Первый параметр понятен, а вот что нужно передать в mode (string) - попробовал пустоту ('') - выдает ошибку при создании файла, а если хоть чего нибудь написать, то Access Violation
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
Бери лучше 7-zip, жмет лучше чем RAR.
Всю инфу можешь найти здесь:
http://www.7-zip.org
Тебе нужно
// 7-zip32.dll written by Akky. Download it here:
http://akky.cjb.net/download/7-zip32.html
create and extract 7 zip archives with delphi (пойдет по моему почти без переделки)
http://cc.borland.com/Download.aspx?id=23301
тебе нужно использовать switches -tzip, что бы получались zip архивы
Дополнительно либа:
http://www.7-zip.org/sdk.html
Port of LZMA SDK to Pascal (Delphi, Kylix and Freepascal)
http://www.birtles.org.uk/programming/
Всю инфу можешь найти здесь:
http://www.7-zip.org
Тебе нужно
// 7-zip32.dll written by Akky. Download it here:
http://akky.cjb.net/download/7-zip32.html
create and extract 7 zip archives with delphi (пойдет по моему почти без переделки)
http://cc.borland.com/Download.aspx?id=23301
тебе нужно использовать switches -tzip, что бы получались zip архивы
Дополнительно либа:
http://www.7-zip.org/sdk.html
Port of LZMA SDK to Pascal (Delphi, Kylix and Freepascal)
http://www.birtles.org.uk/programming/
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
нужно быть членом их сообщества...
Вообще то там бесплатно нужно зарегистрится :
https://members.borland.com/newuser.aspx
если будут проблемы, могу отправить на мыло, весит - 6 кило
-
@lex
- постоялец
- Сообщения: 180
- Зарегистрирован: 19.06.2006 13:16:29
- Откуда: Невинномысск
- Контактная информация:
Да ладно, я уже нашёл одну прикольную штучку, которая запросто создаёт нечто вроде zip-а, только со своим заголовком (ZAR вместо PK). Так вот ни WinRAR ни TotalCommander его не поняли, а запаковать/извлечь файл(ы) - проще простого. Подключаешь один модуль и всё! (zlibar.pas - 24 Kb) и никаких dll-шек!

- shade
- энтузиаст
- Сообщения: 879
- Зарегистрирован: 21.02.2006 19:15:48
- Откуда: http://shamangrad.net/
- Контактная информация:
@lex писал(а):А можно конкретно про zlib спросить:
В стандартном наборе FPC 2.0.2 есть пример использования, в файле minigzip.pas. Для создания архивного файла вызывается функция gzopen (outname, mode). Первый параметр понятен, а вот что нужно передать в mode (string) - попробовал пустоту ('') - выдает ошибку при создании файла, а если хоть чего нибудь написать, то Access Violation
Конечно можно, я разрешаю
Могу конечно ошибаться но синтаксис параметра mode аналогичен соответствующему параметру функции fopen из стандартной библиотеки C. Соотвественно для чтения 'r', 'w' - запись файла + еще можно указывать степень компрессии 'wN', где N - цифра от 0 до 9 - максимальная компрессия 'w9' - минимальная (т.е. без компрессии) 'w0'.
Из анализа исходников (из оригинальной версии zLib 1.2.3) поддерживаются еще модификаторы f (strategy = Z_FILTERED, чё означает не в курсе), h (strategy = Z_HUFFMAN_ONLY, более-менее понятно...), R (strategy = Z_RLE, ну тут вообще вопросов нет)..
-
Replicator
- постоялец
- Сообщения: 154
- Зарегистрирован: 30.04.2006 17:14:45
- Откуда: Outer Heaven
- Контактная информация:
