Передача файлов через интернет по ftp из clipper или foxpro - программы
Часто, особенно в последнее время, надо передавать различные данные, файлы из clipper или foxpro программы, работающих под DOS в среде Windows, через интернет в другой филиал, основной офис или головную программу. Проще всего организовать такую связь через FTP. Для этого используем утилиту WinSCP. WinSCP - это графический клиент SFTP для Windows с открытым исходным кодом. Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы. Скачать можете в интернете. Далее формируем файл скрипта, подставляем его и запускаем эту утилиту с параметром winscp /console /script=p_sc , где р_sc - текстовый файл-скрипт.
Ниже, для примера, приведена функция, реализующая формирование скрипта и запуск утилиты для передачи (синхронизации) данных
FUNCTION ftp_link(mode,m_file,new_name,m_file2,new_name2)
w_ind(0, -1)
p_sc = wdir1 + "\sc.fpt"
p_vhod = wdir1+"\"
p_scp=tekdir+"exe\winscp /console /script="+p_sc
ftp_serv = "bazila.net"
ftp_login = "softclipper"
ftp_pass="123456"
ftp_dir = "/update/"
ftp_dir_get = "update/"
Handle = FCreate( p_sc )
FWrite( Handle, 'open -passive ftp://' + ftp_login+":"+ftp_pass+"@"+ftp_serv + Chr(13) + Chr(10))
FWrite( HANDLE, 'option confirm off' + Chr( 13 ) + Chr( 10 ) )
FWrite( HANDLE, 'option transfer binary' + Chr( 13 ) + Chr( 10 ) )
if mode='SEND'
FWrite( HANDLE, 'put '+m_file+" " +ftp_dir+new_name+ Chr( 13 ) + Chr( 10 ) )
ELSE
FWrite( HANDLE, 'get -delete ' + ftp_dir_get + m_file + " " + p_vhod + new_name + Chr( 13 ) + Chr( 10 ) )
IF !Empty(m_file2)
FWrite( HANDLE, 'get -delete ' + ftp_dir_get + m_file2 + " " + p_vhod + new_name + Chr( 13 ) + Chr( 10 ) )
ENDIF
ENDIF
FWrite( HANDLE, 'close' + Chr( 13 ) + Chr( 10 ) )
FWrite( HANDLE, 'exit' + Chr( 13 ) + Chr( 10 ) )
FClose( HANDLE )
s_run(p_scp)
deletefile(p_sc)
w_ind(2)
RETURN
Использование функции:
ftp_link("RESIV", "vozvr" + jnfil , "" ,"ucenka","" )
ftp_link("SEND", putvyh, "" )
ftp_link("RESIV", "base*.arj","" )
Возможности утилиты WinSCP
Утилита WinSCP выполняет все основные операции с файлами, такие как загрузкаи выгрузка файлов. Она также позволяет переименовывать файлы и папки, создавать папки, изменять свойства файлов и папок, а также создавать символические ссылки и ярлыки.
Один из двух интерфейсов программы позволяет также управлять файлами на локальном компьютере пользователя.
Соединение с серверами
При помощи WinSCP можно соединиться с сервером SSH (Secure Shell) по протоколу SFTP (SSH File Transfer Protocol) или SCP (Secure Copy Protocol), как правило с машинами под ОС UNIX. SFTP стандартно входит в реализацию протокола SSH-2. SCP точно так же стандартно входит в реализацию протокола SSH-1. Оба этих протокола поддерживаются даже самыми свежими версиями SSH-серверов. WinSCP поддерживает как SSH-1, так и SSH-2.
Интерфейс
Программа WinSCP предлагает два пользовательских интерфейса, каждый из которых может быть настроен при помощи множества параметров.
Вы можете выбрать для себя интерфейс при установке. Позднее Вы также можете в любой момент выбрать используемый интерфейс.
Если Вы только начинаете использовать WinSCP, возможно Вы предпочтёте использовать интерфейс в стиле Проводника Windows Explorer, так как он хорошо известен всем пользователям ОС Windows. Однако, если Вы привыкли работать в программах типа Norton Commander, таких как целый ряд современных файловых менеджеров (Total Commander, FAR, Altap Salamander), выбирайте соответствующий интерфейс. Интерфейс как в Norton Commander более удобен для управления с клавиатуры, им можно пользоваться вообще без помощи мышки.
Существует возможность запускать в консольном режиме, без графической оболочки с использованием файла-скрипта, что собственно и предлагается использовать для передачи файлов через интернет из DOS программ Clipper или FoxPro.