| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Работа с *.zip- и *.rar-архивами |
| Автор: BreakPointMAN 6.7.2005, 21:01 |
| Собственно САБЖ. Если кто сталкивался в своей работе, plz, подскажите... Можно две разные библиотечки... Среда: Borland C++ Builder 6. Должно поддерживаться (как минимум): - распаковка и запаковка ZIP (с поддержкой паролей) - распаковка RAR 2Moderators: если тема не очень подходит в этот раздел, не возражаю, если она будет перемещена... %) сорри коли чаво... |
| Автор: NoeR 7.7.2005, 00:46 | ||||||
На торри нет поищи "ZIP"...
У них есть спец длл, найди как ею пользоваться, я пробовал только на Делфи, но до пасса так и не дошел
С чего эт она не подходит =) |
| Автор: p0s0l 9.7.2005, 00:04 |
| Для ZIP - ZipForge хороший компонент для BC и Delphi: http://www.componentace.com/zip_component_zip_delphi_zipforge.htm |
| Автор: BreakPointMAN 9.7.2005, 00:32 |
| 2 NoeR & p0s0l большое спасибо! |
| Автор: CLIPSA 17.1.2007, 01:28 |
| Используя компонент ZIP - ZipForge в программе , то моя программа будет работать и на других компьютерах? Или нет? Т.е. он не привязывается к конкретному компьютеру? Потому что там две варианта Personal Edition(бесплатный) и Commercial Edition. Немогу понять, что значит Personal Edition . В чём ограничение то заключается? |
| Автор: CLIPSA 17.1.2007, 01:58 |
| По этой ссылке http://prdownloads.sourceforge.net/sevenzi...42.zip?download находится файл 7za.exe. При помощи которго можно распаковывать и запаковывать из комндной строки. Вы не знаете как это можно сделать программно т.е. какой код в программе нужен чтоб с комндную строку запускать? и чтоб не запускалось чёрное окно. |
| Автор: Bima 17.1.2007, 07:05 | ||||
Качал с сайта, но не 7za.exe, а файл zf_b6_274.zip (2,244 мб), там находится инсталяшка для ВСВ6. вроде бесплатная, потому что не платил ничего и распаковывает на разных компьютерах и денег не требует. Единственное, что всегда раздражает, при запуске ВСВ выдает MessageBox, типа About, пока не щелкнешь на ОК, ВСВ не откроется. Добавлено @ 07:07
Зачем тогда качать этот компонент. Можно воспользоваться командной строкой любого архиватора, буть то Zip или Rar |
| Автор: CLIPSA 17.1.2007, 12:32 | ||
Компоненты в данной ситуации получается вобще ненужны. И MessageBox, типа About не выскаивает
А при этом коде чёрное окно запускается? |
| Автор: Romikgy 17.1.2007, 12:52 |
имхо нет |
| Автор: Bima 17.1.2007, 12:59 | ||
не нужны, но нужно с программой таскать 7za.exe, что не есть гуд (для меня). MessageBox выскакивает только при запуске среды разработки ВСВ, один раз перед началом, а потом он не появляется. В скомпилированной программе, этого About нет (если конечно вы сами туда его не запихнете) Добавлено @ 13:01 еще, при работе с программой 7za.exe, вы процесс не контролируете. Вдруг архив поврежден, и что тогда??? |
| Автор: CLIPSA 17.1.2007, 13:21 |
| он 2Гб? |
| Автор: Bima 17.1.2007, 13:40 | ||
Незнаю, ваша ссылка битая, так что это все гипотезы |
| Автор: Romikgy 17.1.2007, 14:00 |
| http://www.7-zip.org/ |
| Автор: Bima 17.1.2007, 14:10 |
| Если идти по этому пути, то я говорил, что лучше использовать WinRAR и WinZip... хотя можно также Pkunzip привязать. Это не программирование, а вызов соответствующего архиватора с параметрами командной строки (хоть и скрытно)!!! |
| Автор: zkv 17.1.2007, 15:30 | ||||
а чем это лучше? А что у них говорит лицензия? CLIPSA, нет, но в диспетчере задач будет видно. Пока будешь отлаживать советую запускать через cmd /k ... и SW_SHOW, и если имя архива будет содержать пробелы не забудь передать его в кавычках. И предварительно проверь, все ли необходимые форматы архивов поддерживаются (в справке). |
| Автор: Bima 17.1.2007, 15:56 | ||||||
Может сначала лучше взглянуть на тему!!! могу напомнить: Работа с *.zip- и *.rar-архивами, Разыскивается библиотечка или компонент. В данном случае речь идет о том, что можно встроить в программу, а не о том, как запускать внешние процессы путем командной строки. Если продолжить вашу мысль, то программировать можно путем написания bat файлов для распаковки файлов, и программу даже писать не стоит, лишнее нагромождение и нужен компилятор.
Pkunzip бесплатная вещь, еще со времен DOS, а у WinRAR можно дернуть программу unrar (консольная версия программы и запускается везде). вот что она пишет при запуске:
так что с лицензией все нормально. |
| Автор: zkv 17.1.2007, 16:07 | ||||
в случае, если такое решение будет удовлетворять всем требованиям заказчика, то почему бы и нет? (При условии, что это делается быстрее, и проще). Решение должно быть оптимальным, любые крайности - зло
а тогда юзаем GetExitCodeProcess(), и смотрим код возврата (правда, судя по разговорам, придется использовать ShellExecuteEx() ) |
| Автор: CLIPSA 17.1.2007, 18:09 | ||
А можно поподробней про GetExitCodeProcess().
Ну мне так удобней, потомучто меньше мороки и ещё я собираюсь свою программу переносить на Visual C++ (а ShellExecuteEx() он и в Африке ShellExecuteEx) |
| Автор: zkv 17.1.2007, 18:29 |
в кратце все тоже самое, только используем ShellExecuteEx() (для этого надо заполнить хитрую структуру, которую она принимает в качестве параметра, я не делал, примера у меня нет, но поиск и МСДН помогут), ждем завершения работа архиватора, вызываем GetExitCodeProcess(), куда передаем хэндл завершенного процесса, получаем код возврата. Кстати, контролировать завершение процесса можно с помощью возвращаемого значения GetExitCodeProcess(). Вообщем есть над чем поработать PS кстати в разделе по Визуалу этот вопрос обсуждается сейчас. |
| Автор: _pussbb 2.2.2007, 23:01 | ||
| А никто не работал с dll 7z-ипа мне бы пример как правильно вызывать функции с этих библиотек. с файла readme
|
| Автор: Romikgy 2.2.2007, 23:26 |
| А SDK их качал? И вообще есть вопрос создай свою тему! |