Консультация № 160583
16.02.2009, 08:53
0.00 руб.
0 1 1
Здравствуте уважаемые эксперты. Такой вопрос необходимо написать программу синхронизации данных(каталогов). Где бы можно было об этом почитать как это реализовать, а то при поиске сссылки только на готовые программы.

Обсуждение

Неизвестный
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();
}
Форма ответа