Использование ZIP

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

Использование ZIP

Сообщение ViruZ » 30.05.2006 09:23:08

Какие библиотеки (желательно со ссылками) можно использовать в FP для создания ZIP-архивов? Хочу создавать со своей программы файлы в формате OpenDocument, описание формата скачал, там достаточно просто - несколько XML-файлов, запакованых в ZIP-архив, с XML понятно, а как запаковать - не могу разобраться. Вроде как для этого используется ZLIB?
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Сообщение STAKANOV » 30.05.2006 10:28:30

Она так и называется zlib. Входит в стандартный набор модулей.
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Replicator » 30.05.2006 13:02:31

По-моему, zlib не работает с zip.
Replicator
постоялец
 
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven

Сообщение Romtek » 30.05.2006 13:25:43

Zlib, по-моему, работает только с компрессией Z.
Поищи Info-Zip Zip32.dll
Аватара пользователя
Romtek
постоялец
 
Сообщения: 190
Зарегистрирован: 22.05.2005 12:29:35
Откуда: Рамат Ган

Сообщение NickCore » 30.05.2006 16:12:35

Почти все компоненты можно найти в
http://wiki.lazarus.freepascal.org/inde ... e_examples
http://sourceforge.net/project/showfile ... _id=193581

в частности возможно тебе пригодится FreePascalArchivePackage
http://wiki.lazarus.freepascal.org/inde ... ivePackage

Сам я им не пользовался и не знаю на сколько он хорош.
NickCore
незнакомец
 
Сообщения: 6
Зарегистрирован: 25.03.2006 11:47:34
Откуда: Витебск

Сообщение @lex » 29.06.2006 18:25:23

А можно конкретно про zlib спросить:
В стандартном наборе FPC 2.0.2 есть пример использования, в файле minigzip.pas. Для создания архивного файла вызывается функция gzopen (outname, mode). Первый параметр понятен, а вот что нужно передать в mode (string) - попробовал пустоту ('') - выдает ошибку при создании файла, а если хоть чего нибудь написать, то Access Violation :(
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение Bohdan » 29.06.2006 20:01:13

Бери лучше 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/
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение @lex » 30.06.2006 10:33:54

Спасибо! Только вот чтобы скачать модуль для Дельфи нужно быть членом их сообщества...
Хотя наверное ещё проще заюзать консольную версию...
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение Bohdan » 30.06.2006 15:08:59

нужно быть членом их сообщества...

Вообще то там бесплатно нужно зарегистрится :
https://members.borland.com/newuser.aspx
8)
если будут проблемы, могу отправить на мыло, весит - 6 кило ;)
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение @lex » 03.07.2006 12:26:11

Да ладно, я уже нашёл одну прикольную штучку, которая запросто создаёт нечто вроде zip-а, только со своим заголовком (ZAR вместо PK). Так вот ни WinRAR ни TotalCommander его не поняли, а запаковать/извлечь файл(ы) - проще простого. Подключаешь один модуль и всё! (zlibar.pas - 24 Kb) и никаких dll-шек! :D :D :D
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение ev » 02.03.2007 20:17:17

сейчас столкнулся с подобной задачей
тоже думал заюзать 7-zip, но какой то он медленный получается
остановился на связке tar + gzip (консольные кросплатформенные версии)

одно плохо - сложно достать компиленные последние версии под винды
кто может компильнуть? :)
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение shade » 02.03.2007 20:38:13

@lex писал(а):А можно конкретно про zlib спросить:
В стандартном наборе FPC 2.0.2 есть пример использования, в файле minigzip.pas. Для создания архивного файла вызывается функция gzopen (outname, mode). Первый параметр понятен, а вот что нужно передать в mode (string) - попробовал пустоту ('') - выдает ошибку при создании файла, а если хоть чего нибудь написать, то Access Violation :(

Конечно можно, я разрешаю :lol:

Могу конечно ошибаться но синтаксис параметра 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, ну тут вообще вопросов нет)..
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Alexander » 10.04.2007 01:24:06

Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение Replicator » 10.04.2007 14:45:05

кто может компильнуть?

Чем? gcc? Если качать не более 1 Мб, я могу.
Replicator
постоялец
 
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven

Сообщение Alexander » 11.04.2007 01:49:04

Качать: tar - 1.8мб gzip - 400кб.

Как собрать кроссом под Линукс не понял. Хотя и кроссовые
бинутилс есть и гсс. Не знаю какие параметры давать и можно ли
в принципе (не требуется ли какой нибудь патч).
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

След.

Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru