Ich verstehe nicht warum du darauf beharrst, das Attribut schon bei FindFirst() angibst.
Wenn du doch sowieso schon zwei Stringlisten hast und nach Verzeichnissen und Dateien suchst, dann pack doch alles in eine Suche.
@MathiasSimmack
Du hast recht mit deiner Vermutung, ich weis das $10 faDirectory ist, mich irritierte nur die Schreibweise.
Apropos: Was $67 sein soll weis ich allerdings nicht
Delphi-Quellcode:
i:=findfirst(pfad+fm.egMaske.text,faAnyFile,attribs); // Dateien suchen
while (i=0) and (fm.aTest.tag=1) do begin // aTest.tag=0 ist Abbruch (Button gedrückt)
application.processMessages;
If ((attribs.attr and faDirectory) <> 0) then
begin
if ((attribs.name<>'.') and (attribs.name<>'..')) then begin
application.processMessages;
slDirDirs.Add(pfad+attribs.Name+'\'); // der \ markiert den Pfad in der Liste als Verzeichnis
end;
end
else
if filenames then // Dateien sollen gesucht werden
begin
slDirFiles.Add(pfad+attribs.name); // sl* sind Stringlists
inc(cFiles); // Zählvari für spätere Statistik
end;
i:=findnext(attribs)
end;
if fm.cbSorted.Checked then slDirFiles.Sort // ggf. sortieren, wenn angekreuzt
findclose(attribs);
if fm.cbSorted.Checked then slDirDirs.Sort;