Moin Bastler,
Du solltest Dir übrigens angewöhnen bei Funktionen, deren Rückgabewert einen Fehler signalisiert, diesen auch auszuwerten, so wie Schaedel es in seinem Beitrag gezeigt hat.
Ausserdem gehört bei Funktionen die im Erfolgsfalle Resourcen belegen, wie auch FindFirst, ein try/finally-Block dazu, der sicherstellt, dass die Resourcen auch wieder freigegeben werden.
Was Du aber nicht wie Schaedel machen solltest:
faAnyFile-faSysFile
Bei Flags, die intern Bitfelder darstellen, sollte man diese mit and not aus der Maske entfernen, und mit or hinzufügen, da man sonst leicht ungültige Werte erhalten kann.
Das obige Beispiel sollte also besser
faAnyFile and not faSysFile
lauten.
Auch wenn es in diesem speziellen Falle mit - funktionier.