Отслеживание изменений в файловой системе
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Для отслеживания изменений в файловой системе (изменение, переименование, удаление файлов и папок) используется класс System.IO.FileSystemWatcher. Он позволяет подписаться на соответствующие события и задавать фильтр для файлов и папок.
Ниже приведен пример кода, отслеживающий изменения файлов с расширением .txt в текущем каталоге.
{$reference System.Windows.Forms.dll}
uses
System, System.IO, System.Windows.Forms;
procedure FileSystemChanged(source: object; e: FileSystemEventArgs);
begin
writeln('Изменился файл '+e.Name);
end;
procedure FileSystemCreated(source: object; e: FileSystemEventArgs);
begin
writeln('Создан файл '+e.Name);
end;
procedure FileSystemDeleted(source: object; e: FileSystemEventArgs);
begin
writeln('Удален файл '+e.Name);
end;
var
watcher: FileSystemWatcher;
begin
watcher := new FileSystemWatcher(GetCurrentDir());
watcher.EnableRaisingEvents := true;
watcher.Filter := '*.txt';
watcher.Changed += FileSystemChanged;
watcher.Created += FileSystemCreated;
watcher.Deleted += FileSystemDeleted;
Application.Run();
end.