Thema: Delphi TreeView und ListView

Einzelnen Beitrag anzeigen

Malte Koch

Registriert seit: 11. Sep 2007
Ort: Recklinghausen
15 Beiträge
 
Delphi 2007 Professional
 
#29

Re: TreeView und ListView

  Alt 13. Sep 2007, 08:28
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 ???
  Mit Zitat antworten Zitat