На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Как работать с 7z в Delphi
    Как работать с 7zip.dll в Delphi.
    Может есть у кого пример..??
    Прикреплённый файлПрикреплённый файл7z.zip (276.68 Кбайт, скачиваний: 3709)
      koder Ты же сам ответил на свой вопрос :unsure: У тебя в архиве 2 ф-ции для добавления и извлечения.
        Да разобрался..хех..где можно пример глянуть для работы с listview, чтобы добавлять выбранные файлы в архив..
          Подскажите а как несколько файлов заархивировать?
            Очень просто. При создании архива:
            Цитата
            FileList : string; // comma separated files to be added to archive (wildcards ok)
            Можно список файлов через ;, а можно и маски использовать.

            Добавлено
            Я как раз этой библиотекой пользовался. Тут есть несколько грабель.
            Во-первых, эти либы от Minoru Akita могут полностью вешать на время архивации 2003ю винду (сервер).
            Во-вторых, при работе в нескольких потоках возникают проблемы с загрузкой либы в очередной поток.
            Если первая проблема решается поиском другой версии этой либы, то вторую проблему мне решить не удалось. Пришлось использовать оригенальную консольную версию 7za.exe.
              Testudo А как архивировать файлы из других папок, не только из текущей..
                Цитата koder @
                А как архивировать файлы из других папок, не только из текущей..

                использовать полные пути к файлам...
                  А в тип string разве это уместится???Пробовал..он виснит и ничего не делает..
                    Цитата koder @
                    А в тип string разве это уместится???

                    а зачем в тип String это сувать?
                    ты же из ListBox списох берёшь...
                    вот и считывай построчно а потом пакуй
                      ExpandedWrap disabled
                        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;

                      Это каждый раз вызывать эту функцию для каждого файла..???
                        Цитата dron-s @
                        использовать полные пути к файлам...
                        Не полные, а относительные. Эта либа не умеет работать с полными путями (а может твоя версия и умеет, но предыдущие - нет).

                        Цитата koder @
                        Это каждый раз вызывать эту функцию для каждого файла..???
                        Нет.
                        Просто в параметр FileList передай нечто вроде:
                        ExpandedWrap disabled
                          .\toarch_*.dat,.\..\somedir\mainfile.dat,.\..\..\windows\system32\users32.dll


                        Добавлено
                        koder, я тебе все же рекомендую скачать 7za.exe - консольный вариант архиватора, и работать с ним. Проблем меньше будет. В том числе с относительными путями: консольный архиватор замечательно глотает полные пути. Да и добавлять файлы в созданный ранее архив проще.
                        Сообщение отредактировано: Testudo -
                          а где е взять этот 7za.exe?
                            Как где? На www.7-zip.org конечно!
                            Ежели лень, вот прямая ссылка: 7za442.zip
                              можешь примерчик кинуть как заархивировать несколько файлов с разных мест
                                Здравствуйте. Ктонибудь знает где найти обертку под 7z посвежее желательно с LZMA2 и размер словаря 128МБ
                                    Ну последняя версия LZMA.442b
                                    Только не понятно как ее установить и как с ней работать.
                                    Там куча файлов.
                                      Если я правильно понимаю, поддержка 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, можешь взять за основу, чтобы разобраться что к чему
                                      Сообщение отредактировано: Gonarh -
                                        Ну то что версия 4.42 древняя и так ясно но свежих оберток под паскаль никто похоже не делал.
                                        Сообщение отредактировано: Alexandr_7 -
                                          Сие печально, но крайне достоверно говорит о тенденциях в популярности данного ЯП, какгрицца делайте выводы.
                                            Не проще к exe'шнику обращаться через shellexecute с ключами?
                                              Цитата ^D^ima @
                                              Не проще к exe'шнику обращаться через shellexecute с ключами?

                                              Именно мне не проще так не нужны дополнительные окна а скрывать окно и перехватывать прогресс извлечения еще надо уметь делать.
                                              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                              0 пользователей:


                                              Рейтинг@Mail.ru
                                              [ Script execution time: 0,0839 ]   [ 16 queries used ]   [ Generated: 30.04.24, 13:42 GMT ]