Moin Gerd,
Zitat von
norwegen60:
ich verwende schon lange folgenden Code um nach Dateien zu suchen.
Dann hast Du auch schon seit langem einen Fehler drin
Das hier
(search.name[1]<>'.')
ist nämlich schlicht falsch, da Dateien und Ordner durchaus mit einem Punkt beginnen dürfen.
Man muss explizit nach (Search.Name <> '.') and (Search.Name <> '..') suchen.
Warum ist bei Dir eigentlich die Liste als Var-Parameter deklariert.
Das finde ich relativ gefährlich.
Da ja die Ergebnisse an das übergebene Objekt mittels einer Methode des Objektes zugefügt werden sollen, kann man die Liste auch explizit als const deklarieren.
@mashutu:
if sr.Attr and faDirectory >0 then
funktioniert in diesem Zusammenhang zwar, halte ich aber für nicht ungefährlich.
Ein Vergleich auf <> 0 oder auf = faDirectory wäre da sicherer.
Was bezweckst Du eigentlich mit $FF bei FindFirst?
Es ist zumindest kein für diesen Parameter gültiger Wert