Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: idFTP Ordner rekursiv auflisten

  Alt 3. Nov 2008, 16:23
Kannst du, ist aber ineffizienter als die zweite Lösung

Delphi-Quellcode:
procedure TForm1.auflisten(CurrentNode: TTreeNode);
var
i: integer;
l: TIdFtpListItems;
dirs: TStringList;
current: TTreeNode;
begin
  dirs := TStringList.Create();
  idftp1.List(nil,'',true);
  l:=idftp1.DirectoryListing;
  for i := 0 to l.Count-1 do
  begin
    current:=TreeView1.Items.AddChild(CurrentNode,l.Items[i].FileName);
    if (l.Items[i].ItemType=ditDirectory) then
    begin
      current.ImageIndex:=0;
      dirs.addObject(l.Items[i].FileName, current);
    end;
    else
      current.ImageIndex:=-1;
  end;

  for i := 0 to dirs.count - 1 do
  begin
    idftp1.changedir(dirs[i]);
    auflisten(dirs.objects[i] as TTreeNode); // < Hier wird auflisten rekursiv aufgerufen
    idftp1.ChangeDirUp;
  end;
  dirs.Free;
end;
Versuch das mal so
  Mit Zitat antworten Zitat