![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Мне необходимо запоковать каталог с файлами и подкаталогами програмным способом. Я для этого использовал компонент FlexCompress for Delphi, мне он вполне подошел. Но возникло две проблемы
1) FlexCompress for Delphi - это триал версия и как его зарегестрировать понятия не имею. Он он выводит надоедливое сообщение при запуске моей программы. 2) Т.к. работа уходит на олимпиаду, мне сказали, что сторонними компонентами пользоваться нельзя. smile вот тут я попал smile Ребята помогите пожалуйста, времени остается в обрез, я не успею написать встроенный архиватор. И весь мой 2-х месячный труд уйдет коту под хвост. Дело в том, что я хочу использовать алгоритм Халффмана для этого. Я понял суть, но не могу применить на практике. Небольшая путаница с бинарными деревьями. Но самое главное это как в архив запихать весь каталог, который нужно запаковать с его файлами и подкаталогами. Один файл то можно, а вот каталог целый smile Может кто уже делал что-то подобное? помогите если кто, что знает? smile --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
1) Берешь, идешь на официальный сайт, там платишь денешку, и тебе дают ключ. Ты его устанавливаешь, и все прекрасно.
А что, нельзя обойти как-нить судей и подкрепить WinRar, и с ключами его фиксить? -------------------- Ll 2 |
|||
|
||||
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Ты имеешь ввиду, взять dll и в модуле подгружать от туда функции и процедуры.
Если так, я также должен предоставить и исходник DLL. Как быть? --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Тогда ищи материал по сжатию данных, и пиши свой компонент для сжатия.
-------------------- Ll 2 |
|||
|
||||
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Если бы был такой нормальный материал, я бы вопрос в форуме не стал поднимать. Есть немного материала, но объяснение только в теории, много непонятного, что связано с кодингом
Добавлено @ 09:45 Граждане программеры, помогите собрату, может кто, где, хоть как-то сталкивался. Очень бы хотелось посмотреть исходник --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 26 Всего: 146 |
не знаю что это за компонент, но чего не воспользоватся компонентами на основе Zip? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Если не использовать сторонние компоненты, то тебе прямая дорога к ZLib.
http://forum.vingrad.ru/index.php?showtopi...st&p=620614 или посиск: http://forum.vingrad.ru/index.php?act=Sear...ib&skipped= |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Не по сабжу:
Куда жмеш при заходе в Delphi: Общие? И какой браузер?
PS: http://algolist.manual.ru/compress/standard/huffman.pas -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Куда жмеш при заходе в Delphi: Общие? И какой браузер?
Это у меня прокси сервер неправильно работал, там стоял слишком большой кэш. Но даже при установке кэше в 1 мб при переходе на винград в форум "общие вопросы" он почему-то хочет закачать эту ссылку, а браузер у меня MOZILA Firefox --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Давай определимся с функционалом.
Итак. Тебе нужно запаковать каталог с файлами и подкаталогами. Без использования сторонних компонентов. Хорошо. Это легко. Только нужно определиться с распаковкой. Нужно распаковывать: восстановить оригинал - распаковать все файлы, восстановить каталоги. или иметь возможность распаковки каждого отдельного файла? Требуется ли возможность получения списка файлов архива? Можно довольно быстро нарисовать быстрый и легкий архиватор. Если нужна только первая возможность, то уровень компрессии будет на 5-10% лучше ZIP. Если хочешь больше, то уровень будет на уровне ZIP. Можно увеличить, но за счет времени распаковки. Добавлено @ 11:35 Если только первый вариант - могу набросать код за полчаса. |
|||
|
||||
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Snowy спасибо за подсказку.
Я сам только, что набрел на такую библиотеку. Прочитал поверхностно т.к. на работе некогда, но везде описан пример с одним файлом, может ты подскажешь как можно послать в упаковку весь каталог с его вложенными файлами и подкаталогами и все это упаковать в один. И соответственно наоборот. Это возможно? А то с одним файлом я бы и метод Халффмана применил. Вот проблема! Добавлено @ 11:48 Давай определимся с функционалом. Итак. Тебе нужно запаковать каталог с файлами и подкаталогами. Без использования сторонних компонентов. - именно так Хорошо. Это легко. Только нужно определиться с распаковкой. Нужно распаковывать: восстановить оригинал - распаковать все файлы, восстановить каталоги. - Именно больше ничего и не надо или иметь возможность распаковки каждого отдельного файла? - нет кучу запоковал, кучу распоковал Требуется ли возможность получения списка файлов архива? - нет не требуется Можно довольно быстро нарисовать быстрый и легкий архиватор. - Это было бы просто супер Если нужна только первая возможность, то уровень компрессии будет на 5-10% лучше ZIP. Если хочешь больше, то уровень будет на уровне ZIP. Можно увеличить, но за счет времени распаковки. Добавлено @ 11:35 Если только первый вариант - могу набросать код за полчаса. - Значит ты будешь лучшим, кого я только знал в этой среде программирования Кстати ты сколько уже в делфи и вообще в программировании --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Готово. Держи:
Пример использования:
Добавлено @ 13:48 Для анализа зажал каталог с exe, bpl, dcu, bmp общим весом 8.5Mb. Результаты компрессии: ZIP: 3430Kb VGZ: 3337Kb В принципе немного - всего 3% выигрыш. Зато минимум кода - минимум размера. Скорость высокая. Добавлено @ 13:50 Лет 15. |
||||
|
|||||
Marlin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 20.2.2006 Репутация: нет Всего: 1 |
Ребята спасибо вам огромное!
Snowy ну ты ас. Я еще в дет сад ходил, когда ты в делфи начал разбирать --------------------
Программист решает проблемы, о которых пользователь даже не задумывается,способами, о котороых он даже не подозревает. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
||||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Чуть доработал модуль. Теперь можно паковать без ступора программы и сделать визуализацию.
Пример с визуализацией вот: (на форме 2 кнопки и TAnimate с Visible = false).
Сам модуль повторно не выкладываю - исправил оригинальном посте. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |