√ Программы,
√ Сайты, √ Библиотеки
√ Хостинг, √ Домены
ООО МааСофтваре
+7(928)442-41-32
support@maasoftware.ru
   
Программа “Copier”

Программа “Copier” предназначена для создания резервных копий ваших файлов. Позволяет задавать маски файлов с указанием факта: копировать файлы с данной маской, или пропускать. Копирует только изменившиеся файлы, что позволяет, например, быстро синхронизировать ваши файлы между диском и флешкой. Использует библиотеку MFC.

 

Предыдущая версия программы:

Программа “Copier” предназначена для создания резервных копий ваших файлов. Позволяет задавать маски файлов с указанием факта: копировать файлы с данной маской, или пропускать. Исользует графическую библиотеку QT фирмы "Trolltech".

Я применяю эту программу для копирования в каталог резервных копий и обновления исходных текстов программ на C++ в этом целевом каталоге. В папке с проектами обычно содержится много "мусора" - временные файлы, создаваемые при компиляции и результаты запуска программ. После копирования в результатирующем каталоге остаются практически только нужные файлы, в последствии каталог можно заархивировать каким-нибудь архиватором (например, WinRAR) и записать архив на CD/DVD.

При копировании "поверх" копируются только изменённые файлы, что ускоряет процесс backup'а.

Программа в виду перенисимости библиотеки на другие ОС и платформы, также по большей части переносима - я компилировал её в FreeBSD 5.4 для i386. Но ввиду того, что не все требуемые мне функции реализованы в библиотеке QT, то есть замечания:

  1. Не реализована функция установки времени файла в результатирующем каталоге.
  2. Не копируются имена пользователей и групп файлов, а также другие их аттрибуты
  3. Программа выдаёт сообщения (для каждого файла) о том, что не удалось установить время в результатирующем файле, что при копиравании большого количества файлов приводит к такой перегрузке библиотеки сообщениями, что она подвисает. При желании покопаться в исходниках можно убрать вывод данных сообщений

Программа, как и исходники к ней, распространяются для некоммерческого использования, "КАК ЕСТЬ", то есть без каких-либо гарантий работоспособности или сохранности данных. Это - моя первая программа, написанная с целью изучения библиотеки QT.

К недостаткам QT следует отнести большой размер дистрибутивов (в случае статической линковки) или большой размер динамических библиотек (в случае динамической линковки), большая стоимость библиотеки для коммерческого использования.

Но есть плюсы, и их много, в частности, скорость разработки программ и продуманность интерфейса библиотеки классов.

В файле main.cpp содержатся авторские функции проверки строки на соответствие шаблону, например, шаблоном может быть просто "*.cpp" - все файлы с расширением "cpp".
Вы можете использвать любую часть исходников в своих программах с сохранением копирайтов, если таковые имеются.


PS: На 5.02.2008 существует 1 известная мне ошибка в версии 1.0 программы:
При копировании файлов, размер которых кранен 1 МБ (1048576 байт), файл копируется нормально, только не устанавливается дата/время файла, и выдаётся сообщение об ошибке.
Это связано с тем, что в QT при попытке прочитать файл, когда позиция указателя в файле указывает на его конец, возвращается ошибка в отличии от возврата 0 для, скажем, стандартной функции fread().
Таким образом, в файле MyMainForm.cpp, в строке 890, следует изменить цикл while

while ((x = i.read(b, BUFFER_SIZE)) > 0)
{
m_Mutex.lock();
...
на
x = 0;
while (!i.atEnd())
{
if ((x = i.read(b, BUFFER_SIZE)) <= 0)
{
break;
}
m_Mutex.lock();
...

Сейчас у меня не установлена библиотека QT, так что данное действие предоставляется изучающим эту библиотеку в качестве небольшого задания.


ССЫЛКИ:

Сайт программы: http://www.maasoftware.ru/

Форум этого сайта: Форум для обсуждения программ

Фирма "Trolltech" - бывший разработчик QT: http://www.trolltech.com/ (ссылка не действительна)

Официальный сайт Qt с открытым исходным кодом (англ.)

Официальный сайт коммерческой версии Qt (англ.)

 


Назад  Наверх

Пользователь
Другие ресурсы
Copyright © 2011-2017 ООО МааСофтваре   
Мы принимаем Яндекс.Деньги Мы принимаем переводы Сбербанка России Банковский перевод Способы и порядок оплаты
Посетителей сегодня: 1, всего: 174, максимально: 6, начиная с 31.10.2015, вы просматриваете эту страницу 1 раз(а). Заходите ещё!!!