Показать сообщение отдельно
  #2  
Старый 07.06.2013, 03:43
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Функции для отслеживания изменений содержимого файла 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.
Вместо директорий можно следить и за конкретными файлами, всё дело лишь во флагах.
Ответить с цитированием