архиваторы на 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.: неплохо бы сделать алгоритм упаковки, кто-нить возьмется?
|