Oder ganz einfach: Man ruft die Suchroutine einfach einmal pro Minute per TTimer auf.
Es sauber umzusetzen macht aber mehr Sinn. Dann bekommt man Änderungen gleich mit und nicht erst beim nächsten Suchlauf und einfacher ist es zusätzlich noch.
Am einfachsten ist, wenn man TJvChangeNotify aus der JVCL benutzt. JCL und JVCL dürften die meisten ja ohnehin installiert haben. Die Komponente kann man einfach auf ein Formular oder Datenmodul legen, unter Notifications die zu überwachenden Verzeichnisse festlegen und das OnChangeNotify Event erstellen. Darin bekommt man dann das Verzeichnis mitgeteilt, in dem sich etwas geändert hat und die Information was sich dort geändert hat (Dateiname, Verzeichnisname, Attribute, Dateigröße, ...).
Mit TJvChangeNotify ist das eine Sache von 5 Minuten inkl. Test.
Natürlich ist die Sache mit den ChangeNotifications eine schicke Sache und - je nach Anwendungsfall - auch genau die richtige Lösung, aber die Anfrage des Threaderstellers war:
"Ich möchte ... regelmässig alle x Minuten nachsehen ob in einem bestimmten Verzeichnis Dateien vorhanden sind."
Das kann er mit meinem Vorschlag mit 5-10 Zeilen Code lösen. Das hier gepostete Codebeispiel hat über 500 Zeilen Code für die gleiche Sache. Vielleicht ist das aus mancher Leute Sicht die sauberere Lösung, für mich ist es mit Kanonen auf Spatzen schießen.
(Just my two cents)
PS: Funktionieren die Notifications eigentlich auch, wenn die Dateien nicht lokal sind und also z.B. auf einem vernetzten Linux-System liegen?