Здравствуйте, <Аноним>, Вы писали:
А>Как мониторить директорию на предмет появления новых файлов в ней А>(желательно кусок кода — кому не жаль или не лень)
FindFirstChangeNotification/FindNextChangeNotification
примера увы под рукой нет...
По моему в RX компонентах было что то вроде RXFolderMonitor.
А>Как мониторить директорию на предмет появления новых файлов в ней А>(желательно кусок кода — кому не жаль или не лень)
Здравствуйте, <Аноним>, Вы писали:
А>Как мониторить директорию на предмет появления новых файлов в ней А>(желательно кусок кода — кому не жаль или не лень)
есть такой компонент TShellFolderNotify (D6 и позже)...
... << RSDN@Home 1.1 beta 2 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
> Как мониторить директорию на предмет появления новых файлов в ней
может что-нибудь наподобие MyFSD_RegisterFileSystemFunction
спасет отца русской демократии ?
Возможно IFS (Installable file system) будет интересно.
Но в MSDN только обзор замечательных возможностей,
о которые можно изучучить, купив IFS.
Хотя времена могли измениться, (пингвИны с vfs всякими шатаются),
может m$ и выложила "for public domain".
я читал MSDN об IFS, с год назад,
когда хотел нечто вроде "резидента/фильтра"
на дисковые операции поиметь.
расслабился когда понял, что msdn намекает, неплохо бы IFS купить,
там вы найдете это, это, и вот это ...
а значит, в msdn (по этому вопросу) бесполезно искать что-либо
кроме рекламных буклетов.
а сейчас открыл, появились разделы "File System Driver/Functions"
может что и изменилось, или может глаза у меня кривые по жизни
--
"Software is like sex it's better when it's free." (с) Linus Torvalds
Posted via RSDN NNTP Server 1.7 "Bedlam"
Только на РСДН помимо ответа на вопрос, можно получить еще список орфографических ошибок и узнать что-то новое из грамматики английского языка (c) http://www.rsdn.ru/forum/cpp/4720035.1.aspx
Здравствуйте, DrDred, Вы писали:
DD>Здравствуйте, <Аноним>, Вы писали:
А>>Как мониторить директорию на предмет появления новых файлов в ней А>>(желательно кусок кода — кому не жаль или не лень) DD>FindFirstChangeNotification/FindNextChangeNotification DD>примера увы под рукой нет...
Одно маленькое уточнение, незнание которого стоило мне пары дней
лишней работы с этими функциями...
Если директория расположена в сети, то это работает, только если
сервер Windows, и то в некоторых случаях не работает.
В моем случае был Samba сервер, все изменения каталога прошли
незаметно для этих функций.
В конечном итоге, был написан поток, смотрящий за каталогом через
некоторый интервал времени. Насколько я знаю, многие люди,
реализовывали слежку за файлами именно из потока, так как
FindFirstChangeNotification работает как Билл Гейтс на душу положит.
Здравствуйте, Alex91, Вы писали:
A>В конечном итоге, был написан поток, смотрящий за каталогом через A>некоторый интервал времени. Насколько я знаю, многие люди, A>реализовывали слежку за файлами именно из потока, так как A>FindFirstChangeNotification работает как Билл Гейтс на душу положит.
Верно мыслишь, но не совсем. Просто не все файловые системы поддерживают эту функциональность. О чем честно написано в документации.
Поэтому надежная система должна сканировать фолдер если произошло любое из двух:
1. Пришло ChangeNotification
2. Истек таймаут
Это позволяет, сделав таймаут достаточно длинным (например, 10 секунд) не слишком нагружать FS сканированиями фолдера (а не дай бог еще и по сети!), и при этом не опаздывать на 10 секунд к тем изменениям, о которых известно сразу.
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
меня решение с интервалами времени
всегда настораживает вот в чем:
ничего страшного, если файл появиться и
исчезнет в течении 10 секунд, а сие
обстоятельство не будет отраженно ?
если это не важно, то все замечательно,
иначе такое решение не есть гуд.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Только на РСДН помимо ответа на вопрос, можно получить еще список орфографических ошибок и узнать что-то новое из грамматики английского языка (c) http://www.rsdn.ru/forum/cpp/4720035.1.aspx