Функции для отслеживания изменений содержимого файла
FindFirstChangeNotification,
FindNextChangeNotification,
FindCloseChangeNotification вместе с
WaitForSingleObject какие то из них должны помочь, или ещё по таймеру периодически размер
*.txt проверять, изменился - вывод в мемо.
З.Ы.
Во, описание функций нашёл в MSDN, перевод, сильно не бейте
Цитата:
FindFirstChangeNotification - функция возвращает дескриптор уведомления об изменениях и устанавливает начальные условия отправки сообщения, или вернёт INVALID_HANDLE_VALUE в случае ошибки:
FindFirstChangeNotification(lpPathName: PChar; bWatchSubtree: boolean; dwNotifyFilter: DWORD): THandle;
lpPathName: PChar - полный путь к директории за которой проводится мониторинг. Этот параметр не должен содержать относительный путь или нулевую строку.
bWatchSubtree: boolean - если true, то указывает на то, что также в результат мониторинга будут попадать изменения и в подпапках.
dwNotifyFilter: DWORD - набор флагов, определяющих настройки фильтра.
Флаги могут быть следующими:
FILE_NOTIFY_CHANGE_FILE_NAME (0x00000001) - любое изменение имени файла в папке или подкаталоге. Изменения включают в себя переименование, создание или удаление файла.
FILE_NOTIFY_CHANGE_DIR_NAME (0x00000002) - любое изменение имени директории в каталоге или подкаталоге. Изменения включают в себя переименование, создание или удаление директории.
FILE_NOTIFY_CHANGE_ATTRIBUTES (0x00000004) - любое изменение атрибутов в просматриваемой директории и поддиректориях.
FILE_NOTIFY_CHANGE_SIZE (0x00000008) - изменение размера файла в директории или подпапке. Изменение видно только когда файл записывается на диск.
FILE_NOTIFY_CHANGE_LAST_WRITE (0x00000010) - изменение времени последней записи в файл.
FILE_NOTIFY_CHANGE_SECURITY (0x00000100) - изменение параметров безопасности в каталоге или подкаталоге.
FindNextChangeNotification - указывает, чтобы операционная система вернула сигнал уведомления об изменении THandle в следующий раз, когда обнаруживаются изменения, согласно фильтру, установленному функцией FindFirstChangeNotification.
FindNextChangeNotification(hChangeHandle: THandle):boolean;
hChangeHandle: THandle - дескриптор, полученный с помощью функции FindFirstChangeNotification.
FindCloseChangeNotification - останавливает мониторинг изменений в директории.
FindCloseChangeNotification(hChangeHandle: THandle):boolean;
hChangeHandle: THandle - дескриптор, полученный с помощью функции FindFirstChangeNotification.
|
Вместо директорий можно следить и за конкретными файлами, всё дело лишь во флагах.