954,514 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Server Files in Combobox ??

Hello fellow super coder people

i am rtying to list all the files in a certain directory (eg. "TestDir") in a combobox

try
            {
                m_ftp.Server = txtftpServerName.Text;
                m_ftp.Username = txtftpUserName.Text;
                m_ftp.Password = txtftpPassword.Text;

                m_ftp.Login();
                string[] The_File = m_ftp.GetFileList("TestDir");

                foreach (string FILE in The_File)
                {
                    cboFindFile.Items.Add(FILE);
                    Console.Write(FILE);
                }
                m_ftp.Close();
            }
            catch(Exception EX)
            {
                MessageBox.Show("Files Not Downloaded");
            }


That only downloads one file into the combobox ...

Any ideas ???
please help...

Regards and thanks...

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

I would expect it to. youve asked it to show you the details of the directory, not the contents within it.

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

Ok i understand that , thank you very much ... i tested a few other ways, but for argument sake lets say i said

string[] The_Files = m_ftp.GetFileList("/");


or

string[] The_Files = m_ftp.GetFileList("TestDir/");


or even

string[] The_Files = m_ftp.GetFileList("//TestDir/");


/* Just keep in mind that the TCP is already connected so specifying just a directory works for Upload and delete */

It gives me the same problem , so could you maybe make my day worth wile and help me try something else ?

Even a total different approach is fine, i can adjust my code...

LizR - you rock , thanks for your help

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

try changing directory, and asking for a list of *

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

NO luck yet ...

can you maybe give me some other example ??

Maybe a 'for' loop ??

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

debug it, is the array just 1 entry? if it is then.. thats why

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

The directory contains about 5 zipped files , trust me i have been debugging ... hahaha, i guess this leaves me at phase one again, but rest asured, i never give up, i will post the working code soon, watch this space ... hehehe

The problem must be within the loop somewhere, thats why i think maybe doing a 'for' loop rather than a 'foreach' loop, because it does give me the first file in the dir, but there are about five .bak files that are zipped ... so lets say .zip files

Anyway , thanks for your attempt

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

no no, you're missing the point.
If the function you're calling only sends back the 1 file, then thats all it has to send. For loop and foreach wont make any difference.

if the array only has the 1 file, you cant change that

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

Ok i think i know whats wrong here

i think that the files are not registering in the array - what you said

private void FindFiles(object sender, EventArgs e)
        {
            try
            {
                m_ftp.Server = txtftpServerName.Text;
                m_ftp.Username = txtftpUserName.Text;
                m_ftp.Password = txtftpPassword.Text;

                m_ftp.Login();

                m_ftp.ChangeDir(txtToDirectory.Text);

                string[] fi = m_ftp.GetFileList();

                cboFindFile.Items.AddRange(fi);

                m_ftp.Close();
            }
            catch(Exception EX)
            {
                MessageBox.Show("File Not Downloaded");
            }
        }


I dont even have a loop there but it works exactly the same ...

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

So GetFileList isnt returning more than 1 thing.

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

i realize what the problem is , but the solution i do not know at this stage ... guess i will have to use a different FTP class

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

I'm glad we both know the problem, but where can i go from here ??

cVz
Junior Poster
140 posts since Mar 2008
Reputation Points: 29
Solved Threads: 7
 

Well, its one of the following:

1. that the folder your FTP server connects to is different to the one you think it is

2. the FTP component you're using isnt good

3. the FTP server is sending back odd information and its not being parsed right

4. What you told it to do is fundementally wrong.

Try this.

make a new app
create a new ftp thing (wether its component or just a class)
connect to ftp.microsoft.com
login as ftp
password test@home
get a list of files.

What does it get?

LizR
Posting Virtuoso
1,791 posts since Aug 2008
Reputation Points: 196
Solved Threads: 190
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You