FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9233
Вход
FTP-клиент

Этот код написан как класс Visual Foxpro. FTP Class предоставляет набор функций, которые позволяют вам работать с FTP-серверами. Для его работы необходима библиотека wininet.dll, которая поставляется с IE 4.0 и выше.


 
Прислал: Неизвестно   Категория: Сети (Интернет и др.)


FTP-клиент

Обзор

Этот код написан как класс Visual Foxpro. FTP Class предоставляет набор функций, которые позволяют вам работать с FTP-серверами. Для его работы необходима библиотека wininet.dll, которая поставляется с IE 4.0 и выше.

Как работает

Для работы с классом вам нужно подключить к вашей программе FTP.PRG:

Set Procedure To ftp.prg Additive

Следующая строка создаст экземпляр класса:

sz_ftp = createobject('ftp_service')

Теперь использовать класс вы можете через переменную sz_ftp

Пример открытия соединения с FTP-сервром:

sz_ftp.OpenInternet("user", "password", "ftpaddress", "port")

Обычно во всех FTP-серверах испольузется порт 21.

Команды для работы

Здесь приведены лишь основные команды, доступные в этом классе. Хотя скорее всего этими командами вы и ограничитесь в своей работе. Тем не менее остальные - приведены в прилагаемом doc-файле в архиве.

OpenInternet ( Установить соединение с сервером)

Синтаксис:

OpenInternet (
char UserName,
char UserPassword,
char FTP Address,
char FTP Port
)

Параметры:

UserName - имя пользователя (ANONYMOUS на общедоступные сервера)
UserPassword - пароль
FTP Address - адрес FTP-сервера
FTP Port - порт FTP-сервера (обычно 21)

Возвращаемое значение:

Возвращаемое значение .T. , если функция успешно соеденилась с сервером, иначе .F.

 

CloseInternet (закрыть соединение)

Синтаксис:

CloseInternet ( )

Параметры:

None

Возвращаемое значение:

Nothing

 

GetFtpFile (скачать файл)

Синтаксис:

GetFtpFile (
char RemoteFile,
char LocalFile,
logical FailifExist
)

Параметры:

RemoteFile - имя и путь файла на FTP-сервере для скачивания с него.

LocalFile - имя и путь файла на локальном компьютере

FailifExist - .T. прекращения скачивания, если файл с таким именем уже есть на локальном компьютере, .F. - перезаписать файл

Возвращаемое значение:

Возвращаемое значение .T. если успешно скачано
Возвращаемое значение .F. если ошикбка

 

PutFtpFile (закачать файл на FTP-сервер)

Синтаксис:

PutFtpFile (
char RemoteFile,
char LocalFile
)

Параметры:

RemoteFile - путь и имя файла на FTP-сервере

LocalFile - локальное имя файла

Возвращаемое значение:

Возвращаемое значение .T. если успешно
Возвращаемое значение .F. если неуспешно

 

DeleteFtpFile (удалить файл)

Синтаксис:

DeleteFtpFile (
Char RemoteFile
)

Параметры:

RemoteFile - имя и путь файла на FTP-сервере

Возвращаемое значение:

Возвращаемое значение .T. если файл удален
Возвращаемое значение .F. если не удален

 

RenameFtpFile (переименовать файл)

Синтаксис:

RenameFtpFile (
char OldName,
char NewName
)

Параметры:

OldName - текущее имя файла

NewName - новое имя файла

Возвращаемое значение:

Возвращаемое значение .T. если успешно
Возвращаемое значение .F. если неуспешно

 

CreateFtpDirectory (создать директорию)

Синтаксис:

CreateFtpDirectory (
char Directory
)

Параметры:

Directory - имя директории

Возвращаемое значение:

Возвращаемое значение .T.если успешно
Возвращаемое значение .F. если неуспешно

RemoveFtpDirectory (удалить директорию)

Синтаксис:

RemoveFtpDirectory (
char Directory
)

Параметры:

Directory - имя директории

Возвращаемое значение:

Возвращаемое значение .T. если успешно
Возвращаемое значение .F. если неуспешно

 

ChangeFtpDirectory (сменить текущую директорию)

Синтаксис:

ChangeFtpDirectory (
char Path
)

Параметры:

Path - путь

Возвращаемое значение:

Возвращаемое значение .T. если успешно
Возвращаемое значение .F. если неуспешно

 

Скачать класс


 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (4.864) Вложение [21.4]kb
Дополнения пользователей
FTP-клиент
[+][?]
kolka
17.05.01 10:40:13

Бомба!!!
Мне понравилось. Тесты еще не все сделал, но ...
Alex
22.05.01 06:09:01

Это то, что мне было нужно! Все работает замечательно. Только хотелось бы иметь какой-нибудь
ProgressBar во время копирования файлов.
Alexei
19.04.02 15:35:02

Podscajite mne pojaluista cac mne v protedure GetFtpFile zadati ctobi on scopiroval mne s servera
FTP liubiie faili iz zadanoi papchiV primere dano s concretnim failom a cac postaviti ctobi vse
faili *.* ne ponimaet. Moi adres  vascan@rambler.ru Ato mne nujno srocno Budu vsem priznatelen cto
smojet mne pomoci.
Дымка
12.03.04 11:58:41

Спасибо, Ваше решение помогло мне сберечь немало времени.
Отлично и доступно!

Добавлю от себя (если кому понадобится):
имена файлов на FTP-сервере чувствительны к регистру, т.е.
Backup.log  и backup.log - два совершенно разных файла.
Mouse_White
26.04.06 12:46:56

Немного доработал процедуры GetFtpDirectoryArray и CrackFile. В оригинале не работают, если
выставлено dBASE compatibility (VFP6.0). Массив  возвращал только последний файл из списка. В
остальном все замечательно :)
Если кому вдруг понадобится, пишите Mouse_white@list.ru
SD
02.06.06 18:54:09

Если порт 21 - все нормально.
Если 22 - ошибки, может где-то прошито значение 21? 
kluch-sd@yandex.ru
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика