Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с алгоритмом архивации LZMA, Прикрутить файл к функциям? 
:(
    Опции темы
Georg97
Дата 18.5.2013, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Отыскал в просторах интернета архив с реализацией LZMA алгоритма.
Никак не получается прикрутить упаковку/распаковку файла к функциям этой библиотеки?
Поделитесь пожалуйста своими соображениями или есть какая другая библиотека с работой одним файлом: сжатие-распаковка (модули лучше с ассемблерными вставками; можно в MemoryStream). Только работающая с большими файлами тоже! В интернете смотрел: только  7za.dll (SevenZipVCL) оказался рабочим, да и то с небольшими файлами и только упаковывает! Остальное - либо под консоль, либо вообще не работает!!! smile 

Это сообщение отредактировал(а) Georg97 - 18.5.2013, 08:30

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  LZMA_1.2.rar 20,86 Kb
PM MAIL   Вверх
northener
Дата 18.5.2013, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Попробуйте fwzip


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Georg97
Дата 18.5.2013, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(northener @ 18.5.2013,  14:42)
Попробуйте fwzip

Нет нужен не ZIP, а LZMA! smile 
Ну или 7-Zip, но для работы с одним файлом или простенький модуль, желательно с ассемблерными вставками, работающий с большим объемом файла...

Это сообщение отредактировал(а) Georg97 - 18.5.2013, 14:51
PM MAIL   Вверх
northener
Дата 19.5.2013, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Georg97 @  18.5.2013,  14:48 Найти цитируемый пост)
Нет нужен не ZIP, а LZMA

А почему это требование так важно, если от модуля требуется не только распапковка, но и запаковка?
И зачем желательны "ассемблерные вставки"?
Какое-то странное желание :(
P.S.
Семестр заканчивается. Скоро нужно сдавать курсовую. А "воз и ныне там"? smile

Это сообщение отредактировал(а) northener - 19.5.2013, 03:30


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
StranikS
Дата 19.5.2013, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: нет
Всего: 2



Вот пожалуйста, модуль для работы с библиотекой 7z.dll. В архиве:
- сам модуль SevenZIP.pas, его надо прикрутить к программе в разделе uses;
- последняя версия 7z.dll - взят мной из 7-zip 9.20, его нужно закинуть в папку с вашей программой
- readme-файл с описанием.



Это сообщение отредактировал(а) StranikS - 19.5.2013, 13:23

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  lzma_unit.7z 324,97 Kb
PM MAIL   Вверх
StranikS
Дата 19.5.2013, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: нет
Всего: 2



И еще раз тот-же архив smile)))
ЗЫ: Не понравился мне новый движок сайта...

Это сообщение отредактировал(а) StranikS - 19.5.2013, 13:33

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  lzma_unit.7z 324,97 Kb
PM MAIL   Вверх
Georg97
Дата 19.5.2013, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(StranikS @ 19.5.2013,  13:13)
Вот пожалуйста, модуль для работы с библиотекой 7z.dll. В архиве:
- сам модуль SevenZIP.pas, его надо прикрутить к программе в разделе uses;
- последняя версия 7z.dll - взят мной из 7-zip 9.20, его нужно закинуть в папку с вашей программой
- readme-файл с описанием.

Спасибо конечно, но можно как-то без dll или свою хотя-бы написать (есть исходники у кого)? Я кстате немного разобрался с SevenZipVCL, только при  архивации/извлечении файл сохраняется в текущую директорию с программой... - Просто мозгов не хватает переделать модуль, предназначенный для консольного приложения!
Цитата(northener @ 8.5.2013,  14:48)
А почему это требование так важно, если от модуля требуется не только распапковка, но и запаковка?
И зачем желательны "ассемблерные вставки"?
Какое-то странное желание :(
P.S.
Семестр заканчивается. Скоро нужно сдавать курсовую. А "воз и ныне там"?

1. Говорю сразу - пишу для себя!
2. Я так понимаю что 7za.dll,  что 7z.dll написаны на ассемблере?

Почему  говорю, что надо свою dll - потому, что при попытке распаковать файл с переименованным расширением, скажем: wav в 7z выскакивает диалог открытия файлов из этой dll и требует какой-то -VOLUME файл, после чего программа вылетает, а мне надо: 
Код

MessageBox(handle, 'Не удалось распаковать файл!', 'Ошибка чтения файла!', MB_ICONWARNING);


Это сообщение отредактировал(а) Georg97 - 19.5.2013, 17:05
PM MAIL   Вверх
StranikS
Дата 19.5.2013, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: нет
Всего: 2



Цитата(Georg97 @ 19.5.2013,  16:42)
Спасибо конечно, но можно как-то без dll или свою хотя-бы написать (есть исходники у кого)?

Самому? Зачем изобретать велосипед?
Если не хотите чтоб с экзешником таскались лишние файлы, то можно dll защить в ресурс и прикомпилить к exe-файлу, а затем извлекать из ресурса в TEMP и пользоваться ей, когда прога запущена.
PM MAIL   Вверх
northener
Дата 20.5.2013, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Georg97 @  19.5.2013,  16:42 Найти цитируемый пост)
Почему  говорю, что надо свою dll - потому, что

Ну пусть так. Но всё-таки почему
Цитата(Georg97 @  18.5.2013,  14:48 Найти цитируемый пост)
желательно с ассемблерными вставками
?

Цитата(Georg97 @  19.5.2013,  16:42 Найти цитируемый пост)
2. Я так понимаю что 7za.dll,  что 7z.dll написаны на ассемблере?

С чего вы это взяли?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Georg97
Дата 20.5.2013, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(northener @ 20.5.2013,  00:25)
С чего вы это взяли?

А у вас есть pas - файл?
Поделитесь!
PM MAIL   Вверх
northener
Дата 20.5.2013, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Georg97 @  20.5.2013,  01:35 Найти цитируемый пост)
А у вас есть pas - файл?
Поделитесь! 

Даже если бы у меня был тот "pas - файл" , я не стал бы делиться с первым встречным!


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
david_yu
Дата 20.5.2013, 06:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 13.10.2006

Репутация: нет
Всего: нет



есть http://sageshome.net/oss/paszlib-sg.php

Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Georg97
Дата 20.5.2013, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(StranikS @ 19.5.2013,  13:13)
Вот пожалуйста, модуль для работы с библиотекой 7z.dll. В архиве:
- сам модуль SevenZIP.pas, его надо прикрутить к программе в разделе uses;
- последняя версия 7z.dll - взят мной из 7-zip 9.20, его нужно закинуть в папку с вашей программой
- readme-файл с описанием.

Че-то выдает ошибку not enough actual parameters!
Код

 procedure TMainForm.ExtractAllClick(Sender: TObject);
 var
   Arch: I7zOutArchive;
 begin
   Arch := CreateOutArchive(CLSID_CFormat7z);//На против этой строки (выделяет скобки)? А в остальном - нет, ни каких проблем...
...

Для чего мне не нужно dll - да для того, что если я захочу создать 64-разрядный проект, то делфа будет оч здорого материться (вернее ее компилятор).

Цитата(david_yu @ 20.5.2013, 06:01)
есть http://sageshome.net/oss/paszlib-sg.php

Ну и где написано, что она поддерживает 7z или LZMA?

Добавлено @ 18:08
Цитата(northener @ 20.5.2013,  02:00)
Цитата(Georg97 @  20.5.2013,  01:35 Найти цитируемый пост)
А у вас есть pas - файл?
Поделитесь! 

Даже если бы у меня был тот "pas - файл" , я не стал бы делиться с первым встречным!

Я наверное оговорился - поделитесь ссылкой...

Это сообщение отредактировал(а) Georg97 - 20.5.2013, 18:11
PM MAIL   Вверх
northener
Дата 21.5.2013, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Georg97 @  20.5.2013,  17:54 Найти цитируемый пост)
Для чего мне не нужно dll - да для того, что если я захочу создать 64-разрядный проект, то делфа будет оч здорого материться (вернее ее компилятор).

Да ну! Неужели аж сам компилятор будет ругаться?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Slavikus
Дата 21.5.2013, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 19.2.2012

Репутация: нет
Всего: нет



http://sourceforge.net/projects/tpabbrevia/



Этот ответ добавлен с нового Винграда - http://vingrad.com
PM MAIL   Вверх
Georg97
Дата 21.5.2013, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(Slavikus @ 21.5.2013,  14:09)
http://sourceforge.net/projects/tpabbrevia/



Этот ответ добавлен с нового Винграда - http://vingrad.com

On Windows it also provides Delphi wrappers for the LZMA, Bzip2, and WavPack SDKs, and PPMd decompression.
- Тока декомпрессия!
PM MAIL   Вверх
kami
Дата 21.5.2013, 22:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Georg97 @  21.5.2013,  16:52 Найти цитируемый пост)
Тока декомпрессия!

Кто такое сказал? Потрудитесь воспользоваться автоматическим переводчиком.
А еще лучше - скачайте архив по ссылке, и убедитесь в наличии как минимум двух путей для компрессии и декомпрессии LZMA: отдельные функции и потоки.

И потом - уважаемый, от вас до сих пор не видно было ни единой конкретной "заморочки", одни общие фразы типа "хочу, чтобы работало, а оно только под консоль".
Возьмите наиболее "действующий" вариант вашего кода, выложите его сюда и объясните: "делаю так и так, должно запаковаться/распаковаться. А оно вот тут выдает вот такую ошибку".

А так - можно за вас весь интернет перелопатить и ничего вам не подойдет, т.к. всё время будут ошибки (ваши, заметьте!) вроде такой:
Цитата(Georg97 @  20.5.2013,  17:54 Найти цитируемый пост)
Че-то выдает ошибку not enough actual parameters



Это сообщение отредактировал(а) kami - 21.5.2013, 22:11
PM MAIL WWW   Вверх
Georg97
Дата 22.5.2013, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 30.3.2010

Репутация: нет
Всего: нет



Цитата(kami @ 21.5.2013,  22:08)
Цитата(Georg97 @  21.5.2013,  16:52 Найти цитируемый пост)
Тока декомпрессия!

Кто такое сказал? Потрудитесь воспользоваться автоматическим переводчиком.
А еще лучше - скачайте архив по ссылке, и убедитесь в наличии как минимум двух путей для компрессии и декомпрессии LZMA: отдельные функции и потоки.

И потом - уважаемый, от вас до сих пор не видно было ни единой конкретной "заморочки", одни общие фразы типа "хочу, чтобы работало, а оно только под консоль".
Возьмите наиболее "действующий" вариант вашего кода, выложите его сюда и объясните: "делаю так и так, должно запаковаться/распаковаться. А оно вот тут выдает вот такую ошибку".

А так - можно за вас весь интернет перелопатить и ничего вам не подойдет, т.к. всё время будут ошибки (ваши, заметьте!) вроде такой:
Цитата(Georg97 @  20.5.2013,  17:54 Найти цитируемый пост)
Че-то выдает ошибку not enough actual parameters

1. Да я пробовал хромовский переводчик, но ни слова о упаковки файлов алгоритмом LGMA там нет! Поэтому качать и не стал!
2. А вариант в начале темы вас не устраивает?

Это сообщение отредактировал(а) Georg97 - 22.5.2013, 17:42
PM MAIL   Вверх
kami
Дата 22.5.2013, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Цитата(Georg97 @  22.5.2013,  16:45 Найти цитируемый пост)
Да я пробовал хромовский переводчик, но ни слова о упаковки файлов алгоритмом LGMA там нет! Поэтому качать и не стал!

без комментариев. Ждите, пока вам выкатят компонент TProgrammer.

Цитата(Georg97 @  22.5.2013,  16:45 Найти цитируемый пост)
2. А вариант в начале темы вас не устраивает?

Не устраивает. Потому что в "варианте в начале темы" нет ни строчки вашего кода. И кроме того, судя по uses он предназначен для KOL.
PM MAIL WWW   Вверх
kami
Дата 22.5.2013, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 22
Всего: 72



Именно во вложениях я и смотрел. Иначе бы не сказал то, что было сказано.
Не надо сарказма, он вам плохо удается.
А если вы догадаетесь посмотреть на объявление функции CreateOutArchive, то сразу поймете - почему "сдесь ругается", т.к. название недостающего параметра говорит само за себя.


PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.