Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
2. Jul 2020
Weil '.' für das aktuelle und '..' für das übergeordnete Verzeichnis steht, es sind also Verzeichnisse. Daher ist das Flag gesetzt und der Vergleich ergibt nicht 0, sondern faDirectory. Hast Du mein Tutorial schon gelesen, das ich weiter oben verlinkt hatte?
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
2. Jul 2020
In dem Moment, wo ein Unterverzeichnis z.B. das Archiv-Attribut gesetzt hat, funktioniert die exakte Prüfung nicht mehr, d.h. das Verzeichnis wird als Datei erkannt.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
2. Jul 2020
Wieso ist das der falsche Weg? Exakt auf faDirectory zu prüfen wäre definitiv falsch, da auch andere Attribute enthalten sein können. Zur Erklärung: https://www.delphipraxis.net/95180-effizientes-arbeiten-mit-bitmasken.html
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
2. Jul 2020
Damit wird geprüft, ob die Bitmaske der Dateiattribute das Flag faDirectory enthält. Wenn ja, ist es ein Verzeichnis.
Forum: Sonstige Fragen zu Delphi
Delphi
by DeddyH,
2. Jul 2020
Anderer Vorschlag:
function DirContainsFiles(const Dirname: string): Boolean;
var
Rec: TSearchRec;
SearchPattern: string;
begin
Result := false;
SearchPattern := IncludeTrailingBackslash(Dirname) + '*.*';
if FindFirst(SearchPattern, faAnyFile, Rec) = 0 then
try