# DirectoryWatcher **Repository Path**: ak17/DirectoryWatcher ## Basic Information - **Project Name**: DirectoryWatcher - **Description**: https://github.com/Wosi/DirectoryWatcher.git - **Primary Language**: Delphi - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-21 - **Last Updated**: 2025-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DirectoryWatcher Watch changes in directories on different platforms. This is an abstraction layer for - `ReadDirectoryChangesW` on **Windows** - `FSEvent` on **Mac OS** - `inotify` on **Linux** ## How to use ```Pascal // Create new DirectoryWatcher DirectoryWatcher := TDirectoryWatcherBuilder .New .WatchDirectory(FolderToWatch) .Recursively(True) .OnChangeTrigger(OnFileEvent) .Build; // Start watching in different thread DirectoryWatcher.Start; // Stop DirectoryWatcher DirectoryWatcher := Nil; // ... procedure TDirectoryWatcherDemo.OnFileEvent(const FilePath: String; const EventType: TDirectoryEventType); var EventTypeString: String; begin WriteLn('======NEW EVENT======'); WriteLn('File: ' + FilePath); case EventType of detAdded: EventTypeString := 'ADDED'; detRemoved: EventTypeString := 'REMOVED'; detModified: EventTypeString := 'MODIFIED'; end; WriteLn('Type: ' + EventTypeString); end; ```