Вкладка RX Tools. Компонент TRxFolderMonitor

   
На этом шаге мы рассмотрим компонент TRxFolderMonitor.

   
Компонент TRxFolderMonitor предназначен для отслеживания изменений в каталогах файловой системы,
таких как создание, удаление, изменение файлов или каталогов, смена атрибутов файлов и т.д. Когда происходит
одно из изменений, определенных свойством Filter, вызывается событие OnChange.
Компонент использует функции Win 32 API FindFirstChangeNotification, FindCloseChangeNotification
и FindNextChangeNotification.

Таблица 1. Свойства компонента TRxFolderMonitor

СвойствоОписание
property Filter: TFileChangeFilters;Свойство определяет файловые операции, которые активизируют событие OnChange.
Возможные значения свойства:

  • fnFileName - любые изменения имен файлов в отслеживаемом каталоге и, возможно, его
    подкаталогах (переименование, создание или удаление файлов) вызывает событие OnChange.
  • fnDirName - любые изменения имен директорий в отслеживаемом каталоге и, возможно, его
    подкаталогах (создание или удаление каталогов) вызывает событие OnChange.
  • fnAttributes - любые изменения файловых аттрибутов в отслеживаемом каталоге и,
    возможно, его подкаталогах вызывает событие OnChange.
  • fnSize - любые изменения размера файлов в отслеживаемом каталоге и, возможно, его
    подкаталогах вызывает событие OnChange.
  • fnLastWrite - любые изменения времени последний записи (last write-time) в файл в
    отслеживаемом каталоге и, возможно, его подкаталогах вызывает событие OnChange.
  • fnLastAccess - любые изменения времени последнего доступа к файлу в отслеживаемом каталоге
    и, возможно, его подкаталогах вызывает событие OnChange.
  • fnSecurity - любые изменения security-descriptor в отслеживаемом каталоге и,
    возможно, его подкаталогах вызывает событие 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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий