На этом шаге мы рассмотрим компонент TRxFolderMonitor.
Компонент TRxFolderMonitor предназначен для отслеживания изменений в каталогах файловой системы, таких как создание, удаление, изменение файлов или каталогов, смена атрибутов файлов и т.д. Когда происходит одно из изменений, определенных свойством Filter, вызывается событие OnChange. Компонент использует функции Win 32 API FindFirstChangeNotification, FindCloseChangeNotification и FindNextChangeNotification.
Свойство | Описание |
---|---|
property Filter: TFileChangeFilters; | Свойство определяет файловые операции, которые активизируют событие OnChange.
Возможные значения свойства:
|
property OnChange: TNotifyEvent; | Событие вызывается, когда в отслеживаемом каталоге и, возможно, его подкаталогах, происходят любые изменения, определенные свойством Filter. Событие вызывается только при значении свойства Active=True. |
property Active: Boolean; | Свойство определяет, будет ли компонент TRxFolderMonitor реагировать на изменения в каталоге, заданном свойством FolderName. Если Active = True, то изменения файлов или каталогов приводят к вызову события OnChange. |
property FolderName: string; | Указание каталога, в котором будут отслеживаться изменения. |
type TFileChangeFilters = set of TFileChangeFilter; | Тип определяет возможные значения свойства Filter компонента TRxFolderMonitor. |
type TFileChangeFilter = (fnFileName, fnDirName, fnAttributes, fnSize, fnLastWrite, fnLastAccess, fnCreation, fnSecurity); | Тип определяет возможные значения свойства Filter компонента TRxFolderMonitor. |
Рассмотрим пример, демонстрирующий работу компонента TRxFolderMonitor. Поместим на форму компоненты: панель TPanel и TRxFolderMonitor. В свойстве FolderName компонента TRxFolderMonitor указываем каталог, в котором будут отслеживаться изменеия. Свойство Active устанавливаем в значение True и пмшем обработчик события OnChange компонента TRxFolderMonitor:
procedure TForm1.RxFolderMonitor1Change(Sender: TObject); begin Form1.Panel1.Caption:='Change!!!'; end;
При наступлении события OnChange мы меняем свойство Caption компонента TPanel. Это будет признаком того, что в указанном каталоге произошли изменения.
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TClipboardViewer