The utility FTPclient.exe - is the FTP-client and at the present moment allows to work with the data on FTP-servers:
I.e.
- Look through contents of the catalogues
- Download files
- In cause if exist viewer associated with file-extension, then the downloaded from server file can be open in such viewer (Open)

If the same named folders of your computer are associated with folders FTP-server (in dialog Properties for root folder, and also for any children folder to choose the catalogue on the local computer, i.e. it is correct set LocalPath property), between any same named files of such folders the conformity will be established... Also will become accessible to function of editing of folders and files both on FTP-server and on client. Each file of such folder contains in fourth column the date of change on the local computer [Changed (local)]. All functions on editing can be caused through the shortcut menu caused on the right button of the mouse.
I.e.
- Add/Rename/Delete the catalogues both on server and on the client. (Pay attention can be removed "empty" folders only)
- Add/Rename/Delete/Edit files on the client
- Delete/Rename and also Change/Add (by uploading files from the client) on server
- Edit local files [in cause if exist the editor associated with file-extension] (edit)
- Open local files in viewer [in cause if exist the editor associated with file-extension] (Open local)
(pay attention renaming files carries out their simultaneous renaming both on server and on the client)

By the way, for editing local files it is not necessary to use this utility. You can use all that you wish...
However, basic, and actually for the sake of which all this was written function "Upload All Changed" will work!
I.e. 
- During opening any file (Any.fde) by means of the utility, will update the information on dates of changes of your local files. Also, you can do it by using the menu item Tools/Refresh lical 
- Updating dates will occur also at each performance "Upload All Changed" further, comparing dates of last changes of files between server and client, will choose only "out-of-date" on server files, and to change (upload) them by more "fresher" copies from the client.
- At last, during saving any of "associated with server" fde-file the command "Refresh lical" will be executed also 

Can work both at free access to Internet, and through http-proxy server, MS ISA in particular. However in the latter case, on the client the preliminary installation MS Firewall Client (see on http://www.isaserver.org/) is necessary. Directly I used version 3.0

Is written by means MS VC ++ 6.0 (SP5 VS6) thus uses:
- MFC library (shared dll)
- MS WinInet (in asynchronous)
- Mscomctl.ocx

To use in dialog Application properties Tools\Properties... need edit the following parameters:

[Session]
ProxyServer - name proxy-server, if is used, and is empty otherwise. (For Example: MyProxyServer.ics.perm.su:8080) Attention, in a case use MS ISA, is required installation Microsoft Firewall Client 

[Connection]
Setver: - name yours external FTP-server (for example: ftp://ftp.prolib.de/) (is necessary)
User: - your name (login) on external FTP-, if it is required, and is empty otherwise
Password - your password on external FTP-, if it is required, and is empty otherwise

[Advanced]
Connection and Recrive timeout (sec)

After change of the parameters mentioned above, the button [Apply] establishes the parameters, chosen by you as currently ... And after that, the opening of the new document (File/New/FTP server) as results in creation of the document with the parameters, given by you.

If any of documents is already opened, through Tools/Application Properties you can change the address FTP- serever, for which the new document will be created.

The item of the menu File/New/File download - opens the form for loading a single file. This form for loadings from any addresses works as for FTP, type:
Ftp://login password:ftp.host.com/folder/file.ext
And for HTTP, type:
Http://host.com/folder/file.ext
Addresses.

Known problems:

1. In case of use MS Firewall Client, in dialogue "Firewall Client Options" the attribute Automatically detect ISA server should be switched OFF, and Enabled Firewall Client is ON.

2. On some servers can error on command Refresh on the catalogues which are not containing files. I.e. the problem arises, when at attempt of viewing of the catalogue we shall come across the catalogue which is not containing of files (or ERROR_NO_MORE_FILES on the function FtpFindFirstFile()), returned "garbage" can cause a mistake in FTPclient.exe (KERNEL32. DLL): 0xE06D7363: Microsoft C ++ Exception, then any attempts of repeated connection result to 12029 ERROR_INTERNET_CANNOT_CONNECT The attempt to connect to the server failed (Explanation: The volume might be corrupted, the server may be running out of memory, or the permissions on the directory may be corrupted.) how to overcome such situation I have not solution :-(... and to be continue work, if this mistake constantly repeats, it is necessary to close the document, by saving all changes... and then open it again. It is interesting also, that under debugger the similar mistake does not arise) very similar, that it is connected also with Q238796 "BUG: FtpOpenFile Fails If Files Are Not Read Completely " and - or Q239726 "FIX: FtpOpenFile Fails in Asynchronous WinInet", and also Q168492 "PRB: FTP WinInet APIs Report Error 12003" rather Error 12003 see also Q255204" FtpCommand() WinInet Function Stops Responding"

2. The continuation of loading after interrupted (lose) connection by server is desirable, but is not realized yet. (In this case you can be helped by wsDmur.ocx see on my site)

I shall be grateful for your remarks, and offers.

Date of creation: 10/04/2002

The list of changes:

10/06/2002 ver 1.0.0.2
- log file of events (LogFile) does not work at creation of the new document, now fixed.
- at occurrence of some errors could be a case, when the session was not destroyed, that at any operation with server resulted actually in the same mistake. Has corrected, now occurrence of any mistake (except for very easy) results in automatic closing of session 

09/10/2002 ver 1.0.0.3
- on attempts connection to server, in case "not ignored errors" was the infinite cycle of repeated attempts of connections to server, now fixed
- ProgressBar in a window of downloading of a single file is added (while for FTP-protocol only :-)

10/10/2002 ver 1.0.0.4
- ProgressBar in window downloading a single file now works as for FTP and for HTTP protocols, if it's possible define the size of downloading file, certainly
 - In window downloading a single file, after the first downloading the iternet session remained as opened, and that resulted to error on attempt downloading of more then one file. Now this error is corrected.

11/05/2002 ver 1.0.0.5
- is added the opportunity addressing to the virtual catalogue in the window properties  Tools\Properties ... as last part of external server address. On tab
[Connection]
Setver: - to the name of your external FTP-server it is possible to add the virtual catalogue (for example: ftp://ftp.myserver.com/myviertualfolder/) (is necessary) where as myviertualfolder usually use your nickname, specified on registration on server

12/15/2002 ver 1.0.0.6
- In this version local time of the last uploading of any file to the server is kept in a fde-file. Just this time is compared to local time of last changes for each file during performance of command "Upload All Changed". [In the previous versions during performance of this command at the analysis of last time changes the time of last changes of a file on server was compared (with translating it into local time) in due course changes of a local file. The practice shows, that on whole a number of servers it works incorrectly.]
- The command "Clear all changes" is added "to clear" dates of last loadings on server for all local files. Thus, after performance of this command ("Clear all changes") any file will be "participate" in command "Upload All Changed " only after its "explicit" uploadings on server, i.e. after performance command Upload for it (in other words after resetting the date of last uploading for it).
- The session was not destroyed at a mistake, arising on attempt of reception of the data from empty catalogue, that resulted in necessity of closing of a fde-file, with its subsequent opening.

01/29/2003 ver 1.0.0.7
- the command "Clear all changes" in the former version "cleared" into empty dates of last uploadings of files on server, in this version changes it into date of last changes of a file on the local computer and remove the seconds + milliseconds of time of last uploading on server is not made. Thus It allows both less safely to apply command "Clear all changes", and it is more reliable to define set of the changed files for uploading on server.

Best regards.
Michael Drozdov, ICS Soft, Perm, Russia
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mailto:Drozdov ics.perm.su 
My Page: http: //vfpdev.narod.ru/
ICS Page: http://ics.perm.ru/ [on Russian]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~