DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C# (http://www.daniweb.com/forums/forum61.html)
-   -   FTP Server Directory Treeview (http://www.daniweb.com/forums/thread167230.html)

cVz Jan 9th, 2009 9:36 am
FTP Server Directory Treeview
 
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 ....

LizR Jan 9th, 2009 9:47 am
Re: FTP Server Directory Treeview
 
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.

cVz Jan 9th, 2009 10:28 am
Re: FTP Server Directory Treeview
 
Quote:

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 ...

cVz Jan 9th, 2009 10:31 am
Re: FTP Server Directory Treeview
 
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 ...

LizR Jan 9th, 2009 11:38 am
Re: FTP Server Directory Treeview
 
Thats very unusual. On every other OS in the world, "." is current folder, including windows and unix.

Pinos Nov 20th, 2009 6:59 am
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


All times are GMT -4. The time now is 7:35 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC