What we have done was :
Specifying valid FTP remote server name, a username and a password if password required in their relevant textboxes on the form then we click on connect, we notice that the TreeView control is filled with main directories while ListBox control is filled with main files root, that required setting up the Treeview first in the Design-Time (IDE) then we did the same to the ListBox control as well to correctly receive data returned from the FTP remote server.
While recieving the data we've changed the cursor shape beside tracking down the ftp server status calls in a label called LblStatus to let the user know that something is going on, and in the end of the proccess we display a hint on what was done after all (i.e. Uploaded Completed Successfully) the message is called (User friendly) coz the user won't need to know that the ftp server data sent status is (i.e. icReceivingResponse).
Everytime we proccess a file or a routine we had to check for the status of the ftp server using the Inet1_StateChanges(Istate As Integer) event, which monitors the changes in the FTP remote server and execute its methods according to our code through relevant changes we decide to use.
The Code blocks are well commented so you won't find it hard to understand a logic we used.
We provided in the source code some icons we used to display in the TreeView control and the ListBox contro too, also note that the ImageList control must be placed on the form before both the TreeView and the ListBox controls in order to be used.
Also make sure that you use the same version (SP6) of the controls (ListBox and TreeView) as we provided both OCX files in the source code folder.
We used the (FSO Library) File System Object and that is why you will find the relevant DLL file (scrrun.dll) included too in the source code folder, we used it to make sure that there is no duplications problems happen while executing codes to FTP server, also it's a way to get the Path & FileName without spaces because it's a big problem when working with Internet elements like Inet FTP that it's not allowed to use spaces in your file names or paths.
Source Code and programming notes will be found here - Link to original topic