16.02.2009, 12:44
общий
это ответ
Здравствуйте, Sharkerr!
Слишком общий вопрос. Определитесь:
1. Требующийся функционал (раз не устраивают готовые программы, предполагается наличие каких-либо особенностей).
2. Платформа (наверно, из семейства Windows).
3. Среда разработки программы.
4. Вид интерфейса. Окна удобнее в работе в режиме диалога с пользователем. Консольное приложение с набором параметров удобнее для автоматической работы и запуска из пакетных фалов или других программ (например, по расписанию).
5. В зависимости от ответа на вопрос 2 и 3 (частично), надо определиться, какой библиотекой для работы с файловой системой будете пользоваться (в случае Windows можно обращаться напрямую к WinAPI).
6. Определиться с логикой работы программы. Будет ли она хранить где-то свои настройки? Как она будет определять список изменивишихся файлов и папок (например, по дате последнего изменения файла, получаемого из файловой системы). Как определять или где хранить дату последней синхронизации и т.д.
Ряд других вопросов также требует решения (будет ли программа устанавливаемая через инсталлятор и какой, либо возможен запуск из любого места и т.д.). Необходимо проработать логику обработки ошибок (сбоев), например, когда читаемая папка или файл заняты пользователем.
К примеру, в C++ Builder, можно использовать функции FindFirst, FindNext, FindClose из библиотеки SysUtils.
В библиотеке wxWindows есть аналогичные функции wxFindFirstFile, wxFindNextFile (пример использования - в приложении).
Извините, что не помог практическим советом...
Приложение:
wxString f = wxFindFirstFile("/home/project/*.*");
while ( !f.empty() )
{
...
f = wxFindNextFile();
}