Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с *.zip- и *.rar-архивами, Разыскивается библиотечка или компонент 
:(
    Опции темы
zkv
Дата 17.1.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(Bima @  17.1.2007,  14:10 Найти цитируемый пост)
Это не программирование, а вызов соответствующего архиватора с параметрами командной строки (хоть и скрытно)!!! 

smile если продолжить вашу мысль, то использование WinAPI тоже не программирование, а только лишь вызовы интерфейсных функций системы с некоторыми параметрами (даже не скрытно)!!!

Цитата(Bima @  17.1.2007,  14:10 Найти цитируемый пост)
Если идти по этому пути, то я говорил, что лучше использовать WinRAR и WinZip... хотя можно также Pkunzip привязать.

а чем это лучше? А что у них говорит лицензия?

Цитата(CLIPSA @  17.1.2007,  12:32 Найти цитируемый пост)

А при этом коде чёрное окно запускается?

CLIPSA,  нет, но в диспетчере задач будет видно. Пока будешь отлаживать советую запускать через cmd /k ... и SW_SHOW, и если имя архива будет содержать пробелы не забудь передать его в кавычках. И  предварительно проверь, все ли необходимые форматы архивов поддерживаются (в справке).


Это сообщение отредактировал(а) zkv - 17.1.2007, 15:38
PM MAIL   Вверх
Bima
Дата 17.1.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

если продолжить вашу мысль, то использование WinAPI тоже не программирование, а только лишь вызовы интерфейсных функций системы с некоторыми параметрами (даже не скрытно)!!!

Может сначала лучше взглянуть на тему!!!
могу напомнить: Работа с *.zip- и *.rar-архивами, Разыскивается библиотечка или компонент. В данном случае речь идет о том, что можно встроить в программу, а не о том, как запускать внешние процессы путем командной строки.

Если продолжить вашу мысль, то программировать можно путем написания bat файлов для распаковки файлов, и программу даже писать не стоит, лишнее нагромождение и нужен компилятор.

Цитата

а чем это лучше? А что у них говорит лицензия?

Pkunzip бесплатная вещь, еще со времен DOS, а у WinRAR можно дернуть программу unrar (консольная версия программы и запускается везде).
вот что она пишет при запуске:
Код

UNRAR 3.51 freeware      Авторские права (c) 1993-2005 Александр Рошал

Использование: UNRAR <команда> -<ключ 1> -<ключ N> <архив> <файлы...>
               <@файл-список...> <путь_для_извлечения\>

<Команды>
  e             Извлечь файлы в текущий каталог
и так далее

так что с лицензией все нормально.



--------------------
Чтобы дойти до цели, надо идти.

Клавиатура и мышь - это главные инструменты прогресса.
PM MAIL WWW   Вверх
zkv
Дата 17.1.2007, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(Bima @  17.1.2007,  15:56 Найти цитируемый пост)
Если продолжить вашу мысль, то программировать можно путем написания bat файлов для распаковки файлов, и программу даже писать не стоит, лишнее нагромождение и нужен компилятор.

в случае, если такое решение будет удовлетворять всем требованиям заказчика, то почему бы и нет? (При условии, что это делается быстрее, и проще). Решение должно быть оптимальным, любые крайности - зло smile. 

Цитата(Bima @  17.1.2007,  12:59 Найти цитируемый пост)
еще, при работе с программой 7za.exe, вы процесс не контролируете. Вдруг архив поврежден, и что тогда??? 

а тогда юзаем GetExitCodeProcess(), и смотрим код возврата (правда, судя по разговорам, придется использовать ShellExecuteEx() )
PM MAIL   Вверх
CLIPSA
Дата 17.1.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(zkv @  17.1.2007,  16:07 Найти цитируемый пост)
GetExitCodeProcess(), 

А можно поподробней про GetExitCodeProcess(). smile 



Цитата(Bima @  17.1.2007,  15:56 Найти цитируемый пост)
В данном случае речь идет о том, что можно встроить в программу, а не о том, как запускать внешние процессы путем командной строки.

Ну мне так удобней, потомучто меньше мороки и ещё я собираюсь свою программу переносить на Visual C++ (а ShellExecuteEx() он и в Африке ShellExecuteEx)

PM MAIL   Вверх
zkv
Дата 17.1.2007, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

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



Цитата(CLIPSA @  17.1.2007,  18:09 Найти цитируемый пост)
А можно поподробней про GetExitCodeProcess()

в кратце все тоже самое, только используем ShellExecuteEx() (для этого надо заполнить хитрую структуру, которую она принимает в качестве параметра, я не делал, примера у меня нет, но поиск и МСДН помогут), ждем завершения работа архиватора, вызываем GetExitCodeProcess(), куда передаем хэндл завершенного процесса, получаем код возврата. Кстати, контролировать завершение процесса можно с помощью возвращаемого значения GetExitCodeProcess(). Вообщем есть над чем поработать smile

PS кстати в разделе по Визуалу этот вопрос обсуждается сейчас. 

Это сообщение отредактировал(а) zkv - 17.1.2007, 18:39
PM MAIL   Вверх
_pussbb
Дата 2.2.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



А никто не работал с dll 7z-ипа мне бы пример как правильно вызывать функции с этих библиотек. 
с файла readme
Код


7-Zip Extra is package of extra modules of 7-Zip. 

7-Zip Copyright (C) 1999-2006 Igor Pavlov.

This package contains the following files:

7za.dll   - library for working with 7z archives.
7zxa.dll  - library for extracting from 7z archives.
7zS.sfx   - SFX module for installers
7zSD.sfx  - SFX module for installers (uses msvcrt.dll)
7zr.exe   - reduced version of console program 7za.exe
copying.txt  - GNU LGPL
readme.txt   - This file
Far\      - Plugin for FAR manager
Installer\  - Files to compress installers
Features of 7za.dll: 
  - Supporting 7z format;
  - Built encoders: LZMA, PPMD, BCJ, BCJ2, COPY, AES-256 Encryption.
  - Built decoders: LZMA, PPMD, BCJ, BCJ2, COPY, AES-256 Encryption, BZip2, Deflate.
  
7zxa.dll supports only decoding from .7z archives.


Это сообщение отредактировал(а) _pussbb - 2.2.2007, 23:02
PM MAIL WWW   Вверх
Romikgy
Дата 2.2.2007, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



А SDK их качал?
И вообще есть вопрос создай свою тему!


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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