FoxPro Club Главная

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

Копирование, перемещение файлов с/на FTP сервер. Ведение логов, развитая система фильтров, например фильтр left(file_name,2)="i_" and (file_ext="html" or file_ext="htm") or full_file_name='index.zip' файлы начинаются с "i_" и расширение равно ("htm" или "html") ИЛИ ПОЛНОЕ ИМЯ ФАЙЛА="index.zip" применение функций FoxPro в фильтрах, ОПТИМИЗИРОВАННАЯ работа с FTP-серверами При помощи трех специальных флагов (flag1,flag2,flag3) можно дополнительно управлять фильтрами для работы с файлами. Пример left(file_name,2)="i_" and (file_ext="html" or file_ext="htm") or file_ext="xml" and flag1 Без установленного флага (flag1) - работа только с файлами, названия которых начинаются с "i_" и расширение равно ("htm" или "html") С флагом - дополнительно к предыдущим файлам будут отбираться файлы с расширением "xml" Исходники программы


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


Запускать необходимо форму a_wiz_ftp ! Краткая теория :
Есть несколько FTP Serverov, которые нужно работать с некоторой периодичностью.
Для работы с каждым сервером прописываются :

ftp server, например ftp.narod.ru
login
пароль

C этим сервером при помощи некоторых правил я могу работать, например, скопировать файлы с локального диска на сервер, переместить или скопировать файлы с сервера на локальный диск.
При помощи FC можно явно задать с какими файлами работать (например, скопировать index.html), или просто указать каталог отправки и передачи.
Мало того, при помощи фильтра я могу работать только с теми файлами, которые мне нужны, например,
фильтр left(file_name,2)="i_" отберет только файлы, названия которых (первые две позиции) начинаются с "i_"
фильтр left(file_name,2)="i_" and file_ext="html" сделает тоже самое, НО отберет только файлы с расширением "html"
фильтр left(file_name,2)="i_" and (file_ext="html" or file_ext="htm") or full_file_name='index.zip'
файлы начинаются с "i_" и расширение равно ("htm" или "html") ИЛИ ПОЛНОЕ ИМЯ ФАЙЛА="index.zip"
Можно работать (составлять фильтр) со следующими параметрами:
file_name - имя файла без расширения
full_file_name - полное имя файла (с точкой и расширением)
file_ext - расширение файла
file_size - размер файла в байтах
file_date - дата файла (вида ДД/ММ/ГГГГ), формат - DATE
file_date_time - дата_время файла (вида ДД/ММ/ГГГГ ЧЧ:ММ:СС), формат - DATETIME
file_size>50000 - выбор файлов, размер которых больше 50000 байт
file_date=date() - выбор файлов, дата которых совпадает с текущей датой
file_date_time>ctot('01/06/2006 12:45:59') - выбор файлов с датой больше 01/06/2006 и временем больше 12:45:59

left(file_name,3)="TAG" and file_ext="DBG" and file_date<>date()
file_name="KCT"+alltr(str(year(date())))+iif(month(date())<10,"0","")+alltr(str(month(date())))+iif(day(date())<10,"0","")+alltr(str(day(date())))

В фильтрах можно активно применять логические конструкции and (И) or (или) not (НЕ) и функции FoxPro
например
date()-текущая дата
datetime() - текущая дата и время

Как вы видите, у Вас полная свобода для составления именно того фильтра, который Вам нужен.

Что еще вкусного:
Ведется лог работы с FC (вся работа - на экране), кстати, генерится log file.txt в каталоге запуска.
Можно последовательно (в течение одного сеанса) работать с разными FTP Серверами.
Неограниченное количество правил для работы с сервером.
Ведется анализ на наличие ошибок в фильтрах (война опечаткам!)
При помощи трех специальных флагов (flag1,flag2,flag3) можно дополнительно управлять фильтрами для работы с файлами.
Пример left(file_name,2)="i_" and (file_ext="html" or file_ext="htm") or file_ext="xml" and flag1
Без установленного флага (flag1) - работа только с файлами, названия которых начинаются с "i_" и расширение равно ("htm" или "html")
С флагом - дополнительно к предыдущим файлам будут отбираться файлы с расширением "xml"

Работа с FC.
Запускаем форму.
Жмем сразу на "STOP TIMER", что бы программа не стала выполнять задания через десять секунд после запуска - такая функция понадобится в дальнейшем.
Нажимаем "NEW"
Вбиваем имя , FTP-Server,Login и Password.
Нажимаем "Edit" и попадаем в окно правил (возврат обратно - "Return").
Нажимаем "NEW" для создания нового правила ("DELETE", кстати - удаление).
Создастся строка :
copy_to_ftp Files from DIR
Выбираем для редактирования эту строку и "EDIT".
Далее попадаем в окно редактирования правил ("Return" - возврат к окну правил.)
Выбираем, какую команду отдать серверу:
Copy_to_ftp - копирование на FTP-сервер
Copy_from_ftp - копирование С FTP-Сервера
Move_from_ftp - перемещение с FTP-Cервера

Далее, есть два режима -
1) files from dir - ПРЯМОЕ указание работать со всеми файлами в папке либо с теми, которые вписаны в Properties
Если значение в Properties пусто - работа СО ВСЕМИ файлами в папке from_dir
Если нужно указать конкретные файлы для работы, то в Properties вписываем их имена, например:
index.html
index.xml
about.htm
*****
т.е. один файл на одной строке
2)filtr for files from dir - в Properties указываем фильтр, с помощью которого будут отбираться файлы для работы из from_dir
Например, можно вписать в Properties фильтр для отбора только файлов htm или html:
file_ext="html" or file_ext="htm"

Далее вбиваем
From DIR - откуда, из какого каталога будут взяты файлы для работы
TO DIR - куда будут скопированы или перемещены файлы
Если "From DIR" или "TO DIR" - локальные папки, можно воспользоваться кнопкой * справа от строки для виззуального выбора каталога.
Если "From DIR" или "TO DIR" - папки FTP-сервера, необходимо в From DIR или TO DIR вписать символ "/" для корневого каталога FTP-сервера,
или любой другой путь для вашего сервера.

В Properties, как Вы уже поняли, нужно внести либо название файлов или пусто (Режим "files from dir"),
либо фильтр (для режима "filtr for files from dir")

После того, как Вы выставите все параметры для работы, и создадите необходимые правила, можете в главном окне FC нужно галочкой отметить те Connection-ы, с которыми Вы будете работать (колонка "Select" в gride), и, далее,
нажимаем "Start for selected" (для проверки, что все работает).

Далее анализируем лог и исправляем возможные ошибки.
Конечно, потом можно сгенерить exe-шник, и далее, запускаем Панель Управления/Назначенные задания и создаем ярлык для запуска программы в нужное время.
Не забудьте, будет выполняться только то, что отмечено в главном окне FC!

FC применяется так же, как апплет к программе A_olSC (генерация страниц/документов по шаблону).
www.a-olsc.front.ru
www.aolsc.narod.ru

Список всех апплетов на сайте:
Визард для рассылки почты Sp. List
Wizard Picture - работа с графикой
Wizard Connection - соединение и работа с данными (базы, таблицы,txt,xls- файлы)

Вся информация об a_olSC на сайте:
www.a-olsc.front.ru
или
www.aolsc.narod.ru
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (2.333) Вложение [25.15]kb
Дополнения пользователей
Работа с файлами по FTP
[+][?]
aolsc
05.04.07 10:45:51

Е-мое...
похоже сайт не подхватил длинное название zip-файла
не знаю, к сожалению, как изменить вложение (помогите!), поэтому даю ссылку на скачивание:
http://ifolder.ru/1582031


aolsc
05.04.07 12:45:45

zip-файл заменил на новый, изменен формат логов
IvInna
25.04.07 13:36:50

объясните,новичку, почему выдается сообщение " source not available " -в отладчике , если в
закладке "cod - MP" все нормально
aolsc
25.04.07 16:04:43

В архиве находится форма (a_wiz_ftp.scx ;a_wiz_ftp.SCT - для Fisual Foxpro 9.0) и файл
a_ftp_prg.prg Никаких ресурсов для запуска из окна FoxPro не требуется (протестировано под Windows
XP)
nensyby
02.04.08 16:24:32

Как можно получить доступ к fpt ( например ftp.narod.ru)?
[Дополнить]



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