Entweder bin ich zu doof um die Funktion umzubauen oder die tut einfach nicht das was ich möchte.
Jetzt zeigt er mir im TreeView nichts mehr an und im ListView zeigt er mir ALLES an.
also Ordner + unterordner + dateiname
und dabei listet er die Ordner und Unterordner auch einzeln auf.
z.B.: C:\
C:\Test
C:\Test\test.txt
Hat jemand ne Lösung?
Hier meine umgebaute Funktion:
Delphi-Quellcode:
procedure TForm2.FindAllFiles(FileList: TListView;
RootFolder: string;
Mask: string ='*';
Recurse: Boolean = True;
AddFolderNames: Boolean = False;
IgnoreMaskAtFolderNames: Boolean = True);
procedure LFindAllFiles(AParentFolder: String);
var LSearchRec: TSearchRec;
begin
if FindFirst(AParentFolder + '*', faAnyFile, LSearchRec) = 0 then
begin
repeat
if (LSearchRec.Name <> '.') and (LSearchRec.Name <> '..') then
begin
if LSearchRec.Attr and faDirectory = faDirectory then
begin
if AddFolderNames and
(IgnoreMaskAtFolderNames or Like(AnsiLowerCase(LSearchRec.Name), Mask)) then
FileList.AddItem(AParentFolder + LSearchRec.Name, TObject(True));
if Recurse then
LFindAllFiles(AParentFolder + LSearchRec.Name + '\');
end
else if Like(AnsiLowerCase(LSearchRec.Name), Mask) then
FileList.AddItem(AParentFolder + LSearchRec.Name, TObject(False));
end;
until FindNext(LSearchRec) <> 0;
FindClose(LSearchRec);
end;
end;
begin
Mask := AnsiLowerCase(Mask);
LFindAllFiles(IncludeTrailingPathDelimiter(RootFolder));
end;
Ich vermute einfach mal das
FileList.AddItem(AParentFolder + LSearchRec.Name, TObject(True));
auf keinen Fall so richtig ist. Aber wie komm ich an
AddObject
???