- •«Национальный исследовательский томский политехнический университет»
- •Работа с данными в среде FoxPro
- •Создание программных продуктов
- •Главное меню субд
- •Меню FoxPro для dos
- •Главное окно и меню FoxPro дляWindows.
- •Знаки операций
- •Структура команд
- •Создание структуры файла
- •Заполнение базы данных
- •Дополнение бд
- •Фильтрация данных
- •Последовательный поиск
- •Продолжение поиска
- •Понятие о рабочих областях
- •Связь вида одна_запись_к_одной
- •Связь вида одна_запись_ко_многим
- •Цикл с условием
- •Цикл с параметром
- •Цикл сканирования базы данных
- •Математические функции
- •Математическая обработка бд
- •Вывод текстовых файлов
- •Создание баз данных
- •Дополнение базы
- •Формирование запросов из базы данных (команда select)
Организация циклов
Цикл с условием
Цикл с условием выполняется до тех пор, пока <условие> истинно:
DO WHILE <условие>
<команды>
ENDDO
В языке FoxPro отсутствует понятие “метка” ( а, соответственно, и любимый некоторыми оператор GOTO). Если требуется выйти за пределы цикла, необходимо использовать команду EXIT, которая передаст управление команде, следующей за ENDDO. Команда LOOP осуществляет передачу управления в цикле, но в противоположную сторону – в его начало, на саму команду цикла. Это нужно, чтобы при необходимости избежать выполнения некоторых команд, предшествующих фразе END, и сразу перейти к следующему циклу.
Цикл с параметром
FOR <переменная>=<вырN1> TO <вырN2> [STEP <вырN3>]
<команды>
ENDFOR
Цикл аналогичен оператору DO Фортрана и for Си.
Цикл сканирования базы данных
Цикл сканирования базы данных применяется для перемещения в базе данных и выполнения <команд> для каждой встреченной записи, которая отвечает условиям.
SCAN [<границы>] [FOR <условие>] [WHILE <условие>]
<команды>
ENDSCAN
При отсутствии границ и условий сканируется вся БД.
Функции СУБД
Функции в FoxPro используются для анализа или преобразования данных. Синтаксическая особенность функций – обязательное наличие скобок (кроме функции &).
Здесь перечисляются имена, более подробно – смотрите Помощь.
Математические функции
ABS(), INT(), MAX(), MIN(), MOD(), ROUND(), RAND(), SIGN(), EXP(), LOG(), LOG10(), SQRT(), SIN(), COS(), TAN(), ASIN(), ATAN() – в основном те же самые, что и в других языках. PI() – число Пи; DTOR() – преобразование градусов в радианы, RTOD() – обратная функция.
Строковые функции
$, AT/ATC(), INLIST(), LEN(), LIKE(), LEFT(), SUBSTR(), LTRIM(), REPLICATE(), SPACE(), PADC().
Функции работы с датами
CDOW(), CMONTH(), CTOD(), DATE(), DOW(), DTOC(),DAY(), MONTH(), YEAR() и т.д.
Функции преобразования типов данных
ASC(), CHR(), STR(), VAL().
Функция анализа условий
IIF(<условие>,<выр1>,<выр2>) – выдает значение <выр1>, если <условие> истинно, и <выр2> – если ложно. Допускается вложение функций IIF.
Манипулирование файлами
СУБД располагает развитыми средствами по программному формированию, копированию и удалению данных.
Копирование файлов БД
Копирование в новый файл БД осуществляется с помощью команды COPY TO... (см. Помощь), которая осуществляет копирование открытого файла DBF в новый файл, который этой командой создается. Копирование в существующий файл БД: APPEND FROM ... (см. Помощь) – добавляет в активную базу данные из некоторой другой базы или текстового файла.
Сортировка данных
Наряду с индексированием БД, которое при неизменности файла позволяет предъявлять записи и перемещаться по нему в желаемом порядке, существует команда, выполняющая физическое упорядочение файла: SORT TO ... (см. Помощь). Команда создает из активной БД новый файл, в котором записи расположены в возрастающем или убывающем порядке относительно указанного поля/полей. Сортируемые поля перечисляются в команде в порядке их значимости. Может быть выполнена сложная сортировка по нескольким полям (одновременно до 10). Новый файл образуется из всех или некоторых перечисленных полей записей, удовлетворяющих указанным условиям и находящихся в указанных границах.