Есть несколько 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
Вложенные файлы
# |
Название |
Тип файла |
Размер |
---|---|---|---|
1 | 575fc | .zip | 25,15 КБ |