Показать сообщение отдельно
Старый 14.09.2009, 10:21   #1
abcdef
Знающий
 
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений
(для 123 пользователей)
архиваторы на MIDletPascal

Написал простые программки для распаковки zip и gzip архивов. Разбор заголовков файлов сделан в MP; распаковка сделана java-библиотекой. Для нее использовал одну реализацию, из наиболее просто и грамотно сделанных подобных алгоритмов ~10Kb (при желании библиотеку можно полностью переписать под MIDletPascal, но будет работать несколько медленней).
___
Если переделать библиотеку под распаковку из потока, можно будет работать с большими файлами. Текущей версией удобно получать небольшие файлы из сети Интернет. Предыдущая версия оригинальной библиотеки используется в программе TVControl, которая получает html-страницу упакованную в формате gzip
___
zip_info - некоторые простые исходники упаковки/распаковки на С и Pascal
___
интерфейс библиотеки:

function gzstr(s : string) : string; - распаковка gzip файла из строки

function udatastr(s : string; usize : integer) : string; - распаковка упакованного блока без заголовков, где usize - кол-во байт необходимых под распакованные данные, (резервируемых под буфер вывода, указание меньше чем нужно вызывает ошибку).

function status : integer; - успешность текущей распаковки (0-успешна / 1-ошибка)
___
p.s.: неплохо бы сделать алгоритм упаковки, кто-нить возьмется?
Вложения
Тип файла: zip gz.zip (82.6 Кб, 642 просмотров)
Тип файла: zip zip.zip (24.9 Кб, 635 просмотров)
Тип файла: zip zip_info.zip (119.3 Кб, 640 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
SubZer0 (28.09.2009)