Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.220.126.5] |
|
Сообщ.
#1
,
|
|
|
Как работать с 7zip.dll в Delphi.
Может есть у кого пример..?? Прикреплённый файл7z.zip (276.68 Кбайт, скачиваний: 3709) |
Сообщ.
#2
,
|
|
|
koder Ты же сам ответил на свой вопрос У тебя в архиве 2 ф-ции для добавления и извлечения.
|
Сообщ.
#3
,
|
|
|
Да разобрался..хех..где можно пример глянуть для работы с listview, чтобы добавлять выбранные файлы в архив..
|
Сообщ.
#4
,
|
|
|
Подскажите а как несколько файлов заархивировать?
|
Сообщ.
#5
,
|
|
|
Очень просто. При создании архива:
Цитата Можно список файлов через ;, а можно и маски использовать. FileList : string; // comma separated files to be added to archive (wildcards ok) Добавлено Я как раз этой библиотекой пользовался. Тут есть несколько грабель. Во-первых, эти либы от Minoru Akita могут полностью вешать на время архивации 2003ю винду (сервер). Во-вторых, при работе в нескольких потоках возникают проблемы с загрузкой либы в очередной поток. Если первая проблема решается поиском другой версии этой либы, то вторую проблему мне решить не удалось. Пришлось использовать оригенальную консольную версию 7za.exe. |
Сообщ.
#6
,
|
|
|
Testudo А как архивировать файлы из других папок, не только из текущей..
|
Сообщ.
#7
,
|
|
|
Цитата koder @ А как архивировать файлы из других папок, не только из текущей.. использовать полные пути к файлам... |
Сообщ.
#8
,
|
|
|
А в тип string разве это уместится???Пробовал..он виснит и ничего не делает..
|
Сообщ.
#9
,
|
|
|
Цитата koder @ А в тип string разве это уместится??? а зачем в тип String это сувать? ты же из ListBox списох берёшь... вот и считывай построчно а потом пакуй |
Сообщ.
#10
,
|
|
|
function SevenZipCreateArchive( hWnd : HWND; // parent window handle ArchiveFilename : string; FileList : string; // comma separated files to be added to archive (wildcards ok) CompressionLevel : integer; // 0 = none, 9=max CreateSolidArchive : Boolean; // solid = better compression for multiple files RecurseFolders : Boolean; // recurse folders? ShowProgress : Boolean; // if true uses dll's internal progress indicator (callback func ignored) Callback : TSevenZipCallbackProc = nil ) // optional callback (ShowProgress must be false) : integer; Это каждый раз вызывать эту функцию для каждого файла..??? |
Сообщ.
#11
,
|
|
|
Цитата dron-s @ Не полные, а относительные. Эта либа не умеет работать с полными путями (а может твоя версия и умеет, но предыдущие - нет).использовать полные пути к файлам... Цитата koder @ Нет.Это каждый раз вызывать эту функцию для каждого файла..??? Просто в параметр FileList передай нечто вроде: .\toarch_*.dat,.\..\somedir\mainfile.dat,.\..\..\windows\system32\users32.dll Добавлено koder, я тебе все же рекомендую скачать 7za.exe - консольный вариант архиватора, и работать с ним. Проблем меньше будет. В том числе с относительными путями: консольный архиватор замечательно глотает полные пути. Да и добавлять файлы в созданный ранее архив проще. |
Сообщ.
#12
,
|
|
|
а где е взять этот 7za.exe?
|
Сообщ.
#13
,
|
|
|
Сообщ.
#14
,
|
|
|
можешь примерчик кинуть как заархивировать несколько файлов с разных мест
|
Сообщ.
#15
,
|
|
|
Здравствуйте. Ктонибудь знает где найти обертку под 7z посвежее желательно с LZMA2 и размер словаря 128МБ
|
Сообщ.
#16
,
|
|
|
Сообщ.
#17
,
|
|
|
Ну последняя версия LZMA.442b
Только не понятно как ее установить и как с ней работать. Там куча файлов. |
Сообщ.
#18
,
|
|
|
Если я правильно понимаю, поддержка LZMA2 включена с версии 9.04. Версия 4.42 древнее говна мамонта, с 2006года емнип.
Цитата What's new: 19.00: Encryption strength for 7z archives was increased. 18.06: Some speed optimiztions in LZMA/LZMA2 code. 18.05: Some speed optimiztions in LZMA/LZMA2 code. 18.01: Some changes in LZMA2/xz multithreading code for compressing. Some bugs were fixed. 9.35: AES code and SFXs modules were included to SDK. 9.20: New small SFX module for installers. 9.11: PPMd support. 9.04: LZMA2 and XZ support. Цитата Только не понятно как ее установить и как с ней работать. Последняя версия сдк https://www.7-zip.org/a/lzma1900.7z Цитата LZMA SDK includes: C++ source code of LZMA Encoder and Decoder C++ source code for .7z compression and decompression (reduced version) ANSI-C compatible source code for LZMA / LZMA2 / XZ compression and decompression ANSI-C compatible source code for 7z decompression with example C# source code for LZMA compression and decompression Java source code for LZMA compression and decompression lzma.exe for .lzma compression and decompression 7zr.exe to work with 7z archives (reduced version of 7z.exe from 7-Zip) SFX modules to create self-extracting packages and installers Придётся поднапрячься и переписать с любого варианта который более-менее знаком на объект паскаль Добавлено upd. Кто-то неленивый уже нахеракал на паскале https://www.birtles.org.uk/programming/, как раз таки на версию 4.42, можешь взять за основу, чтобы разобраться что к чему |
Сообщ.
#19
,
|
|
|
Ну то что версия 4.42 древняя и так ясно но свежих оберток под паскаль никто похоже не делал.
|
Сообщ.
#20
,
|
|
|
Сие печально, но крайне достоверно говорит о тенденциях в популярности данного ЯП, какгрицца делайте выводы.
|
Сообщ.
#21
,
|
|
|
Не проще к exe'шнику обращаться через shellexecute с ключами?
|
Сообщ.
#22
,
|
|
|
Цитата ^D^ima @ Не проще к exe'шнику обращаться через shellexecute с ключами? Именно мне не проще так не нужны дополнительные окна а скрывать окно и перехватывать прогресс извлечения еще надо уметь делать. |