Announcement

Collapse
No announcement yet.

ftp verzeichnisstammbaum in treeview

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ftp verzeichnisstammbaum in treeview

    hallo,

    ich möchte einen ftp-clienten programmieren, welcher mir den verzeichnis-stamm-baum eines ftp-servers in einer treeview komponente darstellen soll (also genau wie im windows-explorer).

    Hier mein bisheriger Quelltext:
    ======================

    procedure TForm1.ConnectButtonClick(Sender: TObject);
    var
    FTP_Inhalt : TStringList;
    i,j : integer;
    begin
    With IdFTP1 do
    begin
    Host:='127.0.0.1';
    Username:='Anonymous';
    Password:='MyPasswort';
    Connect();
    end;
    if IdFtp1.Connected=true then
    begin
    FTP_Inhalt:=TStringList.Create;
    IdFtp1.list(FTP_Inhalt,'',false);
    j:=Ftp_Inhalt.Count;
    for i:=0 to j-1 do
    begin
    TreeView1.items.Add(nil,FTP_Inhalt[i]);
    end;
    FTP_Inhalt.Free;
    end;
    end;

    Hier ein beispiel, wie ich mir mein programm vorstelle:
    ===================================

    procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string; Item:

    TTreeNode; IncludeFiles: Boolean);
    var
    SearchRec: TSearchRec;
    ItemTemp: TTreeNode;
    begin
    Tree.Items.BeginUpdate;
    if Directory[Length(Directory)] <> '\' then Directory := Directory + '\';
    if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
    begin
    repeat
    if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <>

    '.') then
    begin
    if (SearchRec.Attr and faDirectory > 0) then
    Item := Tree.Items.AddChild(Item, SearchRec.Name);
    ItemTemp := Item.Parent;
    GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
    Item := ItemTemp;
    end
    else if IncludeFiles then
    if SearchRec.Name[1] <> '.' then
    Tree.Items.AddChild(Item, SearchRec.Name);
    until FindNext(SearchRec) <> 0;
    FindClose(SearchRec);
    end;
    Tree.Items.EndUpdate;
    end;

    // Ausführen:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Node: TTreeNode;
    Path: string;
    Dir: string;
    begin
    Dir := 'c:\'; // hier sollte der ftp verzeichnisstammbaum stehen!!
    Screen.Cursor := crHourGlass;
    TreeView1.Items.BeginUpdate;
    try
    TreeView1.Items.Clear;
    GetDirectories(TreeView1, Dir, nil, True);
    finally
    Screen.Cursor := crDefault;
    TreeView1.Items.EndUpdate;
    end;
    end;

    So, wie kann ich das "GetDirectories - beispiel" in mein quelltext einbauen???
    ich bin leider noch delphi-anfänger und wäre für einen code-schnipsel sehr dankbar.

    freue mich auf eure beiträge und

    bedanke mich im voraus!
Working...
X