Russian Qt Forum
Ноябрь 25, 2024, 04:47
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Архивирование папки
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Архивирование папки (Прочитано 9683 раз)
AlphaGh0St
Гость
Архивирование папки
«
:
Февраль 29, 2012, 22:53 »
Всем привет!
Возник вопрос: как за архивировать папку?
Имеется папка:
Код:
C:\files\files
Содержащая файлы:
Код:
file1.txt, file2.txt, file3.txt
Необходимо за архивировать папку и получить архив (не важно rar или zip) files.zip, который содержал бы внутри себя папку files и её содержимое (файлы).
Как это можно сделать?
Благодарю.
Записан
V1KT0P
Гость
Re: Архивирование папки
«
Ответ #1 :
Февраль 29, 2012, 23:10 »
Цитата: AlphaGh0St от Февраль 29, 2012, 22:53
Всем привет!
Возник вопрос: как за архивировать папку?
Имеется папка:
Код:
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
Сообщений: 4747
Re: Архивирование папки
«
Ответ #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
Гость
Re: Архивирование папки
«
Ответ #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
Гость
Re: Архивирование папки
«
Ответ #4 :
Март 01, 2012, 00:15 »
Проблема с не найденной библиотекой решена.
Скачал Zlib for Windows от сюда
http://gnuwin32.sourceforge.net/packages/zlib.htm
Затем нашёл в скачанном архиве файлы zlib.h и zconf.h, скопировал в папку проекта, добавил в проект, и всё заработало.
Всем спасибо за помощь!
Записан
andrew.k
Гость
Re: Архивирование папки
«
Ответ #5 :
Март 01, 2012, 00:28 »
можно еще использовать
QuaZip
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Архивирование папки
«
Ответ #6 :
Март 01, 2012, 00:40 »
Цитата: AlphaGh0St от Март 01, 2012, 00:03
Цитировать
в принципе можно воспользоваться системными утилитами (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
Гость
Re: Архивирование папки
«
Ответ #7 :
Март 01, 2012, 01:08 »
Цитата: kambala от Март 01, 2012, 00:40
Цитата: AlphaGh0St от Март 01, 2012, 00:03
Цитировать
в принципе можно воспользоваться системными утилитами (zip или tar)
а как ими воспользоваться?
запустить консоль и ввести "man <команда>" или "<команда> -h" (без кавычек)
например, чтобы заархивировать папку data в файл data.zip в текущем каталоге, необходимо выполнить "zip -r data data"
А как же кроссплатформенность?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Архивирование папки
«
Ответ #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
Гость
Re: Архивирование папки
«
Ответ #9 :
Март 01, 2012, 07:08 »
Под виндой "zip" нетути
Эт так, напоминание для линуксоидов.
Записан
BRE
Гость
Re: Архивирование папки
«
Ответ #10 :
Март 01, 2012, 07:32 »
Цитата: Bepec от Март 01, 2012, 07:08
Под виндой "zip" нетути
Эт так, напоминание для линуксоидов.
http://gnuwin32.sourceforge.net/packages/zip.htm
Записан
Bepec
Гость
Re: Архивирование папки
«
Ответ #11 :
Март 01, 2012, 07:33 »
Вот вот, что он идёт как доп ПО
А так под виндой его - нетути
Записан
BRE
Гость
Re: Архивирование папки
«
Ответ #12 :
Март 01, 2012, 07:38 »
Цитата: Bepec от Март 01, 2012, 07:33
Вот вот, что он идёт как доп ПО
А так под виндой его - нетути
Да, под вендой в принципе вообще ничего нет, пичаль.
Записан
andrew.k
Гость
Re: Архивирование папки
«
Ответ #13 :
Март 01, 2012, 07:39 »
QuaZip это не кросплатформенность?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Архивирование папки
«
Ответ #14 :
Март 01, 2012, 07:42 »
Цитата: Bepec от Март 01, 2012, 07:33
Вот вот, что он идёт как доп ПО
А так под виндой его - нетути
Можно таскать с собой.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...