Команды ввода-вывода в foxpro.

Используя команды FoxPro, можно прибегнуть к индивидуальному определению места и формы предъявления данных для каждого поля/переменной, использовав специальные команды ввода/редактирования.

CLEAR – команда очистки экрана, освобождает весь экран/окно от имеющейся информации и устанавливает курсор в левый верхний угол экрана/окна.

@<Y1,X1> [CLEAR/CLEAR TO <Y2,X2>] – команда очищает в окне/экране прямоугольник с координатами верхнего левого угла Y1,X1 и нижним правым углом окна/экрана (если указана опция CLEAR) или произвольными координатами Y2,X2 нижнего правого угла.

@...SAY...GET – команда ввода-вывода. Она используется для форматированного ввода-вывода данных на экран/принтер (см.Помощь).

Команды @...GET позволяют осуществить только предъявление данных. Наделение GET-полей аппаратом редактирования и фактическое запоминание экранных образов данных в полях/переменных осуществляются другой командой: READ, которая стоит обычно всегда вслед за командой/командами @...GET.

Самостоятельно познакомьтесь с командами вывода ?/??, TEXT, \ и \\, а также командами ввода INPUT и ACCEPT.

Работа с переменными в FOXPRO: команды присваивания и управления.

В FoxPro разрешается иметь переменные тех же типов, что и поля. Переменным и массивам переменных даются имена по тем же правилам, что и полям.

Команда присваивания. <переменная>=<выражение> или STORE <выражение> TO <имена переменных> – эти команды создают переменные и присваивают им значения. Вторая форма команды предпочтительнее в случае, если нужно одно и то же значение присвоить сразу нескольким переменным.

Тип переменной определяется типом последнего присваиваемого ей выражения!!! Символьные константы должны быть взяты в апострофы, кавычки или квадратные скобки.

Объявление массивов: DIMENSION d(10).

Команды управления, как Вам известно, являются важнейшим средством построения программ. Эти команды могут быть использованы ТОЛЬКО в программах.

IF – в зависимости от условия команда выполняет те или иные <команды>, находящиеся внутри конструкции IF...ENDIF.

IF <условие>

<команды>

[ELSE

<команды>]

ENDIF

Работает так же, как и в Фортране, и в Си. IF – он и в Африке IF.

DO CASE – эта конструкция решает задачи, аналогичные команде IF, но в ней может быть указано сразу несколько условий, которые последовательно проверяются во всех фразах CASE.

Команда аналогична команде switch в Си.

Команда очень удобна для обработки выбора из меню в программах. Разрешается вложение команд DO CASE, IF.

Команды организации циклов в FOXPRO.

Цикл с условием

Цикл с условием выполняется до тех пор, пока <условие> истинно:

DO WHILE <условие>

<команды>

ENDDO

В языке FoxPro отсутствует понятие “метка” ( а, соответственно, и любимый некоторыми оператор GOTO). Если требуется выйти за пределы цикла, необходимо использовать команду EXIT, которая передаст управление команде, следующей за ENDDO. Команда LOOP осуществляет передачу управления в цикле, но в противоположную сторону – в его начало, на саму команду цикла. Это нужно, чтобы при необходимости избежать выполнения некоторых команд, предшествующих фразе END, и сразу перейти к следующему циклу.

Цикл с параметром

FOR <переменная>=<вырN1> TO <вырN2> [STEP <вырN3>]

<команды>

ENDFOR

Цикл аналогичен оператору DO Фортрана и for Си.

Цикл сканирования базы данных

Цикл сканирования базы данных применяется для перемещения в базе данных и выполнения <команд> для каждой встреченной записи, которая отвечает условиям.

SCAN [<границы>] [FOR <условие>] [WHILE <условие>]

<команды>

ENDSCAN

При отсутствии границ и условий сканируется вся БД.

Разработка программ в FOXPRO: функции и процедуры. Классы переменных.

Функции в 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() и т.д.

2.14. Функции преобразования типов данных

ASC(), CHR(), STR(), VAL().

Функция анализа условий

IIF(<условие>,<выр1>,<выр2>) – выдает значение <выр1>, если <условие> истинно, и <выр2> – если ложно. Допускается вложение функций IIF.

Наши рекомендации