Программа “Copier” версия 2.0 для Windows 32/64 bit

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


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


Программа “Copier” версия 1.0 для Windows
Исходные тексты программы “Copier”, версии 1.0

Программа “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/

Посетителей сегодня: 1, всего: 932, максимально: 7, начиная с , вы просматриваете эту страницу 1 раз(а). Заходите ещё!!!