Just because there is no help for this online that i could find, I'm posting this for all the other coders...

This makes use of a third part class downloaded from code project... AWESOME FTP class this , i owe the creators a huge thank you ...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Windows.Forms;
using System.IO;
using System.Net.Mail;
using System.Net;
using System.Net.Mime;
using System.Web;
using System.IO.Compression;
using Microsoft.Win32;
using System.Net.Sockets;
using System.Runtime;


namespace TestDummyTWO
{
    public partial class Form1 : Form
    {
        FTPLib.FTP FTPLIB = new FTPLib.FTP();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

            /* THIS IS THE FORMULA
             * TreeNode MyNodeMain = new TreeNode();
             * TreeNode MyNodeChild = new TreeNode();
             * MyNodeMain.Text = "Main";
             * MyNodeChild.Text = "child";
             
             * mytree.Nodes.Add(MyNodeMain);
             * MyNodeMain.Nodes.Add(MyNodeChild);
            */

           

            FTPLIB.server = "******";
            FTPLIB.user = "*******";
            FTPLIB.pass = "******";

            foreach (string S in FTPLIB.ListDirectories())
            {
                /*          Making parent node          */
                TreeNode ParentNode = new TreeNode();
                ParentNode.Text = S.Substring(55);
                treeView1.Nodes.Add(ParentNode);

                /*          Making child node           */

                FTPLIB.ChangeDir("//" + S.Substring(55) + "/");
                foreach (string S2 in FTPLIB.List())
                {
                    FTPLIB.ChangeDir("//" + S.Substring(55) + "/");

                    TreeNode ChildNode = new TreeNode();
                    ChildNode.Text = S2.Substring(55);
                    ParentNode.Nodes.Add(ChildNode);

                    FTPLIB.ChangeDir(".");
                }

            }
        }
    }
}

Happy coding people , code is shibby ....

Recommended Answers

All 5 Replies

lets pray the ftp servers you use always return exactly the same format in each line then, and that they dont have longer filenames, or usernames or longer/shorter permissions.

However, builing a tree view of something is generally an easy enough concept, and your treeview only allows 1 level, its not recursive.. but, its good you got there in the end.

Btw, shouldnt

FTPLIB.ChangeDir(".");

be a little pointless as you are changing to a fully qualified path each time. and "." means dont change.

FTPLIB.ChangeDir(".");

Takes you to the root folder again, this is just an example , i mean surely every person has a brain to take this code and play around with it ... i just wanted to help man ... seriously....

Its the theory you see there, i just gave an example , one can use this in small applications ... (i hate the treeview though, might do it with a listview....) but we already played with that hehehe

Thanks for all your help man , I'm finally finding some structure in my application to work with ...

I guess you could just use

FTPLIB.ChangeDir("//");

or something, on my server the previous folder is the "."-dir so going there takes you back back back ... cool navigation i tell you ...

Thats very unusual. On every other OS in the world, "." is current folder, including windows and unix.

I am using print directory on My Computer or Windows Explorer, To print information about all your files. Print Directory can print the name of every file on a drive, along with the file's size, date and time of last modification, and attributes (Read-Only, Hidden, System and Archive)! And now, the list of files can be sorted by name, size, date.

Download Free : http://www.print-directory.com

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.