Moin Calculon,
dann nimm doch string statt string[255].
Was mir noch aufgefallen ist:
faAnyFile - faDirectory
Auch wenn es hier keine Auswirkung hat:
Niemals Bitfelder (Flags) mit + und - bearbeiten, immer nur mit OR (statt +) bzw. and not (statt -)
(nähere Erklärungen warum das so ist findest Du hier in der
DP häufiger)
faAnyFile and not faDirectory
Das hier
(SR.Attr <> faDirectory)
ist nicht so besonders sinnvoll, da Du mal davon ausgehen kannst, dass SR.Attr noch mehr enthalten kann als faDirectory
(SR.Attr and faDirectory) = 0
wäre hier sinnvoller.
Die Namen . und .. sind übrigens immer Verzeichnisse.
Wenn also schon feststeht, dass es sich nicht um ein Verzeichnis handelt, kann man sich die Überprüfung auf . und .. sparen.