Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

"Рекурсивное заполнение TreeView папками с удаленного сервера с помощью IdFTP в Delphi"

Delphi , Интернет и Сети , FTP

Рекурсивное заполнение TreeView папками с удаленного сервера с помощью IdFTP в Delphi может быть достигнуто с помощью следующего кода:

procedure TForm2.Button1Click(Sender: TObject);
begin
    TreeView1.Items.BeginUpdate;
    try
        Screen.Cursor := crHourGlass;
        TreeView1.Items.Clear;
        FTPconnect;  //процедура подключения к удаленному серверу
        GetDirectories(TreeView1, '/', nil, True);
        FTPDisconnect; //процедура отключения от удаленного сервера
    finally
        TreeView1.Items.EndUpdate;
        Screen.Cursor := crDefault;
    end;
end;

procedure TForm2.GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: Boolean);
var
    ItemTemp: TTreeNode;
    DirItemType: TIdDirItemType;
    Filename, NewStartingDirectory: string;
    i: Integer;
begin
    Tree.Items.BeginUpdate;
    IdFTP.ChangeDir(Directory);
    IdFTP.List; //получить список директорий удаленного сервера
    i:=0;
    repeat
        DirItemType := IdFTP.DirectoryListing[i].ItemType;
        Filename := IdFTP.DirectoryListing[i].FileName;
        if (DirItemType = ditDirectory) and (Filename <> '.') and (Filename <> '..') then
        begin
            if DirItemType = ditDirectory then
                Item := Tree.Items.AddChild(Item, Filename);
            ItemTemp := Item.Parent;
            if Directory = '/' then
                NewStartingDirectory := Directory + Filename
            else
                NewStartingDirectory := Directory + '/' + Filename;
            GetDirectories(Tree, NewStartingDirectory, Item, IncludeFiles);
            Item := ItemTemp;
        end;
        inc(i);
    until i = IdFTP.DirectoryListing.Count;
    Tree.Items.EndUpdate;
end;

Этот код использует компонент IdFTP для подключения к удаленному серверу и получения списка директорий. Затем он рекурсивно заполняет TreeView папками, начиная с корневой директории. При этом каждая папка добавляется в качестве дочернего узла текущего узла, а затем вызывается рекурсивная процедура для заполнения дочерних папок.

Создано по материалам из источника по ссылке.

Описание контекста: Код на Delphi использует компонент IdFTP для подключения к удаленному серверу и рекурсивного заполнения TreeView папками с помощью получения списка директорий.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: FTP ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:46:43/0.0046601295471191/1