![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
---|Ветка была без названия|---
donda © (2002-12-15 00:06:00)Здравствуйте!
Есть проблема - надо написать "сторожа", который следил бы за неким файлом, который выкладывается в общий доступ по окончании первичной обработки (это между 1 и 3 часами ночи). Задача распадается на две, надо:
1. Генерить событие в момент появления заданного файла в заданной папке.
2. Давать возможность определить, закончена ли выкладка файла (т.е. занят ли файл в данное время другим процессом), в идеале тут тоже должно бы генериться событие.
"Руками" все это можно проделать:
1. смотреть в эксплорер или FAR
2. периодически пытаться открыть (пока он не перестанет кричать "Файл занят другим процессом")
но вот программно бы хотелось...
Если у кого есть идеи (желательно с кодом!), буду очень благодарен!
Заранее спасибо!
donda (2002-12-25 01:05:00) [1]кажется я что то пропустил...
о какой статье идет речь?
от себя:
ChangeNotification (в том числе компоненты с упомянутой страницы на torry, написанные через ChangeNotification) на Netware томе не пашут (по крайней мере у меня)
в nwlib подходящего ничего тоже не нашел...
Suntechnic (2002-12-24 07:50:00) [2]Самое правильное, как тут уже заметили использовать хххChangeNotification, но...
Была тут давным давно дискуссия вашего покорного слуги с автором приведенной статьие. Много чего там наговорено было, но резюме такое: достоверно опеределить закончена ли запись в файл с помошью хххChangeNotification под Win 2000(скорее всего и под XP, хотя надо проверять) не представляется возможным, если только вы сами этот фал не пишете. Под Win 98 это вроде бы возможно, но я сам не проверял за не имением таковой.
MBo (2002-12-24 07:19:00) [3]раздел Статьи
donda (2002-12-23 23:39:00) [4]дык ресурс-то Netware-вский
и тут ( http://www.torry.net/notification.htm) тоже ничего ;-(((
люди, никто не рубит в Netware API ??? должен же быть способ!!!
Reindeer Moss Eater (2002-12-15 09:09:00) [5]Если файл выкладывается на сетевой ресурс NT, то FindFirstChangeNotification.
Cobalt (2002-12-15 02:32:00) [6]Для периодичности - смотри компонент TTimer
Ну, а программны способом открыть файл - см. Ф-ию CreateFile, для обработки ошибок - SysErrorMessage(GetLastError),(в период отладки, потом можно пользоваться уже только GetLastError)