Russian Qt Forum
Ноябрь 25, 2024, 02:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Архивирование папки  (Прочитано 9675 раз)
AlphaGh0St
Гость
« : Февраль 29, 2012, 22:53 »

Всем привет!
Возник вопрос: как за архивировать папку?
Имеется папка:
Код:
C:\files\files
Содержащая файлы:
Код:
file1.txt, file2.txt, file3.txt

Необходимо за архивировать папку и получить архив (не важно rar или zip) files.zip, который содержал бы внутри себя папку files и её содержимое (файлы).

Как это можно сделать?
Благодарю.
Записан
V1KT0P
Гость
« Ответ #1 : Февраль 29, 2012, 23:10 »

Всем привет!
Возник вопрос: как за архивировать папку?
Имеется папка:
Код:
C:\files\files
Содержащая файлы:
Код:
file1.txt, file2.txt, file3.txt

Необходимо за архивировать папку и получить архив (не важно rar или zip) files.zip, который содержал бы внутри себя папку files и её содержимое (файлы).

Как это можно сделать?
Благодарю.
На сколько я знаю в Qt пока еще нету класса для работы с архивами. Можешь либо взять одну из десятков готовых библиотек, либо же воспользоваться недокументированными классами Qt для работы с zip: http://www.wiki.crossplatform.ru/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_zip_%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%B0%D0%BC%D0%B8_%D0%B2_Qt
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Март 01, 2012, 00:02 »

в принципе можно воспользоваться системными утилитами (zip или tar)
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
AlphaGh0St
Гость
« Ответ #3 : Март 01, 2012, 00:03 »

Цитировать
Можешь либо взять одну из десятков готовых библиотек, либо же воспользоваться недокументированными классами Qt для работы с zip
Библиотек много, но какой именно лучше всего воспользоваться?
Если использовать класс QZipWriter, предложенный вами, то появляется небольшая проблема: в файле qzip.cpp подключается библиотека zlib.h. Компилятор жалуется, что библиотека не найдена.
Решение, предложенное здесь
http://www.forum.crossplatform.ru/index.php?showtopic=6270&st=10
не подходит, такого пути даже нет.
Код:
Qt Creator 2.4.1 
Основан на Qt 4.7.4 (32-х битной)
Как можно решить эту проблему?

Цитировать
в принципе можно воспользоваться системными утилитами (zip или tar)
а как ими воспользоваться?
Записан
AlphaGh0St
Гость
« Ответ #4 : Март 01, 2012, 00:15 »

Проблема с не найденной библиотекой решена.
Скачал Zlib for Windows от сюда
http://gnuwin32.sourceforge.net/packages/zlib.htm

Затем нашёл в скачанном архиве файлы zlib.h и zconf.h, скопировал в папку проекта, добавил в проект, и всё заработало.

Всем спасибо за помощь!
Записан
andrew.k
Гость
« Ответ #5 : Март 01, 2012, 00:28 »

можно еще использовать QuaZip
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #6 : Март 01, 2012, 00:40 »

Цитировать
в принципе можно воспользоваться системными утилитами (zip или tar)
а как ими воспользоваться?
запустить консоль и ввести "man <команда>" или "<команда> -h" (без кавычек) Улыбающийся например, чтобы заархивировать папку data в файл data.zip в текущем каталоге, необходимо выполнить "zip -r data data"
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
V1KT0P
Гость
« Ответ #7 : Март 01, 2012, 01:08 »

Цитировать
в принципе можно воспользоваться системными утилитами (zip или tar)
а как ими воспользоваться?
запустить консоль и ввести "man <команда>" или "<команда> -h" (без кавычек) Улыбающийся например, чтобы заархивировать папку data в файл data.zip в текущем каталоге, необходимо выполнить "zip -r data data"
А как же кроссплатформенность?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Март 01, 2012, 04:36 »

zip кроссплатформенный вроде как
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #9 : Март 01, 2012, 07:08 »

Под виндой "zip" нетути Подмигивающий Эт так, напоминание для линуксоидов.
Записан
BRE
Гость
« Ответ #10 : Март 01, 2012, 07:32 »

Под виндой "zip" нетути Подмигивающий Эт так, напоминание для линуксоидов.
http://gnuwin32.sourceforge.net/packages/zip.htm
Записан
Bepec
Гость
« Ответ #11 : Март 01, 2012, 07:33 »

Вот вот, что он идёт как доп ПО Подмигивающий А так под виндой его - нетути Улыбающийся
Записан
BRE
Гость
« Ответ #12 : Март 01, 2012, 07:38 »

Вот вот, что он идёт как доп ПО Подмигивающий А так под виндой его - нетути Улыбающийся
Да, под вендой в принципе вообще ничего нет, пичаль.
Записан
andrew.k
Гость
« Ответ #13 : Март 01, 2012, 07:39 »

QuaZip это не кросплатформенность?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #14 : Март 01, 2012, 07:42 »

Вот вот, что он идёт как доп ПО Подмигивающий А так под виндой его - нетути Улыбающийся
Можно таскать с собой.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.056 секунд. Запросов: 22.