![]() |
|
Модераторы: diadiavova, gambit |
![]()
|
|
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Используя FileSystemWatcher и таймер мне удалось наблюдать за одной из указанных папок. После того, как в течении указанного времени в папке не происходит никаких изменений - формируется отчет о проделанных изменениях и осуществляется его отправка по почте по указанному адресу. Однако, наблюдать за одним каталогом - хорошо, а за несколькими - необходимо! Подскажите как сделать?
Я так понимаю, что надо программно создавать объекты. Как? - для меня загадка. Пробовал использовать многопоточность: здорово, но объект-то один! Помогите идеей или примером! |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
ikorobko, ты FileSystemWatcher ставишь на форму как компонент? Надо это делать программно, по одному FSW на папку. Или один - на корневую папку, тогда будешь мониторить всю активность.
Программно это делается примерно так (взято с MSDN):
Это сообщение отредактировал(а) arilou - 21.6.2006, 11:09 |
|||
|
||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Именно так я и делал, а как программно создать массив этих самых watcher'ов неясно))). Путь - как аргумент к командной строке - здорово, но в моей задаче не подходит.
|
|||
|
||||
| arilou |
|
||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
А зачем массив? Объекты не удалятся пока есть на них ссылки. Один из способов получить ссылку - взять параметр source в обработчике события и привести его к типу FileSystemWatcher. Если уж совсем невмоготу
|
||||
|
|||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Задача такая - отслеживать окончание изменений для каждой из папок по таймуту. Возникает вопрос - как? Тот пример, который привели вы - все результаты валятся в одну кучу, а мне их необходимо разделить!
|
|||
|
||||
| arilou |
|
||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Результаты разделяются тут:
|
||||
|
|||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
А можно листинг целиком? и еще один вопрос? будет ли правильно, если я прикручу потом аналогичным образом к каждой папке по таймеру...?
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
||||
|
||||
| ikorobko |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Все свести воедино получилось и работать с несколькими каталогами получается, а вот разделить нет:
Тело функции и масси, элементы которого пути:
Далее обработка событий. Приведу только одно- создание!
Понятное дело - такое работает. Как только я пытаюсь сделать анализатор, того что приехало, наступает БЕДА! Он не видит глобальных переменных, а также не видит объявленных функций:
или
Он выдаеть ошиьку... подскжите как победить |
||||||||
|
|||||||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
|
|||
|
||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Через перебор массива разделить потоки (признаком является путь к папке слеждения), затем создатьь таймер для проверки условия - если с этой папкой ничего не происходило (записи, удаления и т.д.), то отправляется письмо или создается файл отчета. Может быть я, конечно, кривое решение делоаю... но пока я только до этого додумался)
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
Дык папка слежения у тебя уже есть в realFsw.Path |
|||
|
||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
так ведь мне же надо следить одновременно за несколькими папками и за активностью каждой из них следить!
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 7 Всего: 61 |
ikorobko, в кажом случае, когда твои FSW'шки будут реагировать на события, параметр source будет принимать свое значение
|
|||
|
||||
| ikorobko |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.6.2006 Репутация: нет Всего: нет |
Все правильно, только по этим значения, ориентируясь по пути, мне надо составлять лог, накапливая его, например, в переменной для каждой папки, а затем ждать окончания активности для\ каждой папки! Вот как это реализовать я не знаю
|
|||
|
||||
![]()
|
| Правила форума VB .NET | |
|
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |