Delphi Nach Ordnern suchen

BernddasBrot1

Cadet 2nd Year
Registriert
Juli 2008
Beiträge
22
Hallo alle zusammen!
Wir arbeiten in der schule mit delphi und ich wollte fragen, wie ich nur nach ordnern suchen kann (mittels TSearchRec).
Wenn ich angebe
Code:
if FindFirst('*' ,faDirectory, sr)=0 then
  begin
    repeat
      if sr.Name[1]='.' then continue;
      ChecklistBox1.Items.Add(' '+sr.Name);
      application.ProcessMessages;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;

erscheinen aus irgendeinem grund auch ganz normale Dateien (die also keine Ordner sind).
Ist wahrscheinlich eine doofe frage aber ich komm da echt nicht weiter.
Wär nett wenn jemand ne Antwort für mich hätte.
 
Zuletzt bearbeitet:
Hi,

du musst die Ordner speziell rausfiltern.
Der zweite Parameter gibt nur an, was zusätzlich zu Dateien gefunden werden soll und hilft daher nicht beim Filtern.

Code:
if (sr.Attr and faDirectory) = faDirectory) then
begin
...
end;

sr.Attr enthält die Attribute für das gefundene Objekt. Mittels einer binären Verknüpfung kannst du prüfen, ob das Bit für den Typ "Verzeichnis" gesetzt ist. Nur diese Objekte sind wirklich Verzeichnisse.
Die beiden ersten Treffer bei einer Suche sind idR zwei "Verzeichnisse" mit den Namen "." und "..".
 
Vielen Dank!

Jetzt funktioniert alles wie gewünscht!
 
Zurück
Oben