
- •Практикум Visual FoxPro Основные понятия.
- •Проектирование баз данных.
- •Команды и функции управления записями.
- •Управляющие конструкции языка FoxPro
- •1. Конструкция if …endif
- •3. Конструкция do case … endcase
- •4. Цикл for … next
- •Цикл do while … enddo
- •Цикл scan … endscan
- •Процедуры.
- •Объектно-ориентированное программирование
- •Свойства объектов
- •Допустимые типы полей
- •Примеры использования классов vfp
- •Как сделать, чтобы из формы интерактивно менялось количество страниц в объекте PageFrame?
- •2. Как сделать, чтобы на форме была видна только она страница PageFrame?
Команды и функции управления записями.
Таблица 1
Команда |
Описание |
Append blank |
Добавляет в таблицу новую чистую запись |
Blank |
Стирает информацию во всех полях текущей записи |
GOTO n |
Идти в таблице к записи n |
Go Top |
Идти на 1-ю запись в таблице |
Go Bottom |
Идти на последнюю запись в таблице |
Repl <поле> With <выр.> |
Заполняет <поле> таблицы <выражением> |
RecCount() |
Определяет число записей в открытой таблице |
Recno() |
Номер текущей записи в открытой области |
Set filter to <выр.> |
Устанавливает фильтр на записи, согласно <выражению> |
Select <имя таблицы> |
Открывает таблицу в текущей области |
Skip |
Передвигает указатель в таблице на запись вперед (назад skip –1) |
Примечание: Снимается фильтр просто командой SET FILTER TO
Примеры использования данных команд и функций:
ПРИМЕР:
1) Пусть имеется поле Цена (Numeric) и Количество (Numeric). Требуется вычислить произведение Цена*Количество и занести результат в поле Стоимость(Numeric) для одной записи:
REPL Стоимость WITH Цена*Количество
2) Тоже самое для ВСЕХ записей в которых Количество >10:
REPL ALL Стоимость WITH Цена*Количество FOR Количество>10
Управляющие конструкции языка FoxPro
1. Конструкция if …endif
IF условие
Команды (операторы)
ELSE
Команды (операторы)
ENDIF
2. Конструкция IIF (непосредственно выполняемый оператор IF, имеющий вид функции)
IIF(условие,значение для .T., значение для .F.)
Пример: y=IIF(x>0,1,-1) –если x>0 то y=1 иначе y=-1
3. Конструкция do case … endcase
Конструкция последовательно проверяет условия, расположенные за словом CASE. Если условие выполняется, выполняются команды, расположенные ниже (до следующего слова CASE). Затем управление передается на конец конструкции (endcase)
Конструкция |
Пример |
DO CASE CASE условие1 Команды (операторы) CASE условие1 Команды (операторы) ENDCASE |
DO CASE CASE x>=pi( ) Y=cos(x) (выполняется при x>=) CASE x>0 Y=Sin(x) (выполняется при >x>0) ENDCASE |
4. Цикл for … next
Шаг цикла может быть отрицательным или опущен (по умолчанию шаг равен 1). Пример:
FOR i=10 to 1 step -0.5
? i
NEXT
-
Цикл do while … enddo
Условие, стоящее за словом While (пока) проверяется на истинность при входе в цикл и с каждым проходом цикла. Возможен досрочный выход из цикла (Exit). Пример:
DO WHILE условие Команды (операторы) [EXIT] ENDDO |
X=1 DO WHILE X<10 (пока X<10) S=S+X IF S>8 (если S>8 то досрочный выход) EXIT ENDIF X=X+1 (изменение параметра цикла) ENDDO |
-
Цикл scan … endscan
Цикл предназначен для непосредственной работы с записями таблицы. В примере на все телевизоры (из таблицы “Tovar” назначена скидка 0.1 (10%)
SCAN [FOR условие] операторы [EXIT] ENDSCAN |
Select Tovar (выбираем таблицу) Scan FOR cnametovar=”телевизор” REPL skidka WITH 0.1 EndScan |