КРИК ДУШИ : Алгоритмы архивации на VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

КРИК ДУШИ : Алгоритмы архивации на VB

Сообщение hCORe » 22.10.2003 (Ср) 18:27

Люди, кто может подсказать неплохой алгоритм архивации на VB? Я на www.planetsourcecode.com искал, но там только LZW и Huffman - что называется los primitivos.
LZW слишком медленный даже с маленьким словарем, Huffman слишком плохо сжимает. Пробовал их вместе соединить - текст жмется круче, а все остальное, как и было, - из рук вон плохо!

Есть ли алгоритмы на VB типа LZH или чего-нибудь подобного? Кто знает, пишите мне и - обязательно - :!: ОСТАВЬТЕ ССЫЛКУ!!!
Моду создают модоки, а распространяют модозвоны.

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 22.10.2003 (Ср) 22:00

Используй DLL. Столько уже реализованных алгоритмов, что диву даешься - зачем их переписывать?
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Re: КРИК ДУШИ : Алгоритмы архивации на VB

Сообщение Taras2 » 23.10.2003 (Чт) 9:18

hCORe писал(а):Люди, кто может подсказать неплохой алгоритм архивации на VB? Я на www.planetsourcecode.com искал, но там только LZW и Huffman - что называется los primitivos.
...

Можеш сильно удивиться, но не существует алгоритмов "круче" этих, в совместном контексте скорости работы и степени сжатия Все архиваторы, кроме arj и rar, используют именно эти алгоритмы. Rar использует подобные алгоритмы, но по скорости он не ахти, а степень сжатия не намного выше.
ЗЫ. никогда не задумывался, что означает LZH? LZH = LZW+Huffman.

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Сообщение Taras2 » 23.10.2003 (Чт) 9:28

gaidar писал(а):Используй DLL. Столько уже реализованных алгоритмов, что диву даешься - зачем их переписывать?

Если не трудно, подскажи несколько. Мне нужно запаковать не файл, а строку (MyString As String).
Спасибо.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Я же просил со ссылками! (только не ИнфоЗип!)

Сообщение hCORe » 23.10.2003 (Чт) 11:45

:shock: Люди, я же просил ссылки дать на нормальные библиотеки. Переписывать я их не собираюсь. Просто скачал несколько готовых кодов (Class Huffman с vbStreets и LZW MultiDic с planetsourcecode) и попытался их совместить. Попутно создал свой архивный формат. Жмет не так чтобы очень плохо, но ЖУТКО медленно (1 Mb text ->est. 48,5563 sec.)!

2Taras2 : :idea: Есть хороший алгоритм сжатия строк (LZW 4K VB Optimized) на http://www.planetsourcecode.com. Поищите по названию "LZW". Кто не найдет - могу дать скачать (если найду в дебрях своего компа). Про LZH это я знаю давно, поэтому и хотел сделать неплохую собственную реализацию: порознь они оч. плохо сжимают.
Моду создают модоки, а распространяют модозвоны.

Taras2
Обычный пользователь
Обычный пользователь
 
Сообщения: 82
Зарегистрирован: 20.06.2003 (Пт) 12:13

Re: Я же просил со ссылками! (только не ИнфоЗип!)

Сообщение Taras2 » 23.10.2003 (Чт) 12:11

hCORe писал(а):...
Жмет не так чтобы очень плохо, но ЖУТКО медленно (1 Mb text ->est. 48,5563 sec.)!

Возможно это из-за того, что он постоянно дёргает MSVBVM60.DLL
hCORe писал(а):2Taras2 : :idea: Есть хороший алгоритм сжатия строк (LZW 4K VB Optimized) на http://www.planetsourcecode.com. Поищите по названию "LZW". Кто не найдет - могу дать скачать (если найду в дебрях своего компа).

Спасибо, но я уже сам оттуда выкачал.
hCORe писал(а): Про LZH это я знаю давно, поэтому и хотел сделать неплохую собственную реализацию: порознь они оч. плохо сжимают.

Они просто разные по принципу. LZW-рекурсивный, а Huffman-блочный. Теоретически Huffman не может сжать больше чем в len(блок).
ЗЫ. В качестве извращения могу предложить использовать сжатие командностроковым арховатором в режиме приема из стандартного ввода и выдачи в стандартный вывод (за ZIP не уверен, а GZIP www.gnu.org точно такое умеет). Запускаеш архиватор, передаёш ему свою строку, и забираеш его вывод в свою другую строку.

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

*** Тема закрыта ***

Сообщение hCORe » 26.10.2003 (Вс) 17:03

Спасибо всем за оказанную помощь. Будем искать дальше :lol: :lol: :lol:
Моду создают модоки, а распространяют модозвоны.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 13

    TopList