Команды и функции управления записями

Таблица 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>=p) CASE x>0 Y=Sin(x) (выполняется при p>x>0) ENDCASE

4. Цикл FOR … NEXT  

Шаг цикла может быть отрицательным или опущен (по умолчанию шаг равен 1). Пример:

FOR i=10 to 1 step -0.5

? i

NEXT

6.Цикл 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

7.Цикл SCAN … ENDSCAN

Цикл предназначен для непосредственной работы с записями таблицы. В примере на все телевизоры (из таблицы “Tovar” назначена скидка 0.1 (10%)

SCAN [FOR условие] операторы [EXIT] ENDSCAN Select Tovar (выбираем таблицу) Scan FOR cnametovar=”телевизор” REPL skidka WITH 0.1 EndScan

Процедуры.

Вы можете хранить каждую процедуру в отдельном программном файле (типа *.prg) или выполнить несколько процедур в одном файле. В последнем случае вам перед обращение к процедурам нужно задать имя процедурного файла: SET PROCEDURE TO имя_файла.

Синтаксис процедуры Вызов процедуры
PROCEDURE имя_процедуры PARAMETERS список_параметров <Тело процедуры> RETURN DO имя_процедуры WITH список_параметров

Пример: Преобразовать в строке каждую букву в словах в прописную и удалить «пробелы» в начале и в конце строки. Назовем нашу процедуру FIO:

S=" петров иван петрович    "

DO fio WITH s (вызов процедуры и передача в нее значения переменной S)

? S    (получим на экране результат: Петров Иван Петрович)

PROCEDURE FIO

PARAMETERS st

 st=alltrim(proper(st))

RETURN

Объектно-ориентированное программирование

 

VFP является объектно-ориентированным, визуально программируемым языком, управляемым по событиям.

Последовательность выполнения действий в VFP:

1) Событие (нажатие клавиши, клик)

2) Определяется связанный с этим событием объект (кнопка, поле, форма и т.д.)

3) Вызывается метод, содержащий действия по обработке данного события.

Базовые понятия в VFP – объект и класс.

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

Объект является экземпляром класса, который наследует характеристики класса и имеет определенные свойства и методы.

Свойства объекта находятся в окне PROPERTIES. Данное окно имеет 5 закладок:

ALL  – все свойства и методы

DATA - данные Пример:ControlSource

Metods - методы (Click, DblClick, KeyPress)

Layout - планировка (размер шрифта и т.д)

Over - другие (класс и т.д.)

Идентификация объекта:

по имени: Form1.command1.caption=”Выход”

по ссылке: ThisForm.BackColor=RGB(128,128,255)

Характеристики ООП:

1)ИНКАПСУЛЯЦИЯ (Свойства и методы существуют только вместе с объектом).

2)НАСЛЕДОВАНИЕ (Объект наследует свойства класса).

3)ПОЛИМОРФИЗМ (Использование имен одних и тех же методов для выполнения различных действий)


 

Таблица 2. Базовые классы VFP.

  Класс Назначение   Класс Назначение
Check Box Флажок Timer Таймер
Combo Box Раскрыв. Список ListBox Список
Command Button Кнопка управления OptionGroup Набор переключат.
Command Group Группа кнопок OleBoundControl OLE –объект данных
Container  Контейнер OleContainerControl OLE –объект управления.
Edit Box Поле редактирования PageFrame Рамка со страницами
Grid Таблица Shape Обрамление
Image Рисунок TextBox Поле ввода
Label Надпись Spinner Счетчик

 

СВОЙСТВА ОБЪЕКТОВ

 

Таблица 3.Свойства объектов.

Свойство Описание Значение по умолчанию

Надписи

Caption Надпись  
FontBold Жирный шрифт .f.
FontItalic Наклонный шрифт .f.
FontStrikethru Зачеркнутый шрифт .f.
FontOutLine Подчеркнутый шрифт .f.
FontName Имя шрифта Arial
FontSize Размер шрифта 9

Цвет (палитра вызывается двойным кликом по значению свойства)

ForeColor Цвет надписи 0,0,0
BackColor Цвет фона 255,255,255
DisabledForeColor Цвет надписи при неактивном объекте 0,0,0
Disabled BackColor Цвет фона при неактивном объекте 255,255,255

Размещение

Top Расстояние данного объекта от верхнего края объекта-контейнера (pixel)  
Left Расстояние данного объекта от левого края объекта-контейнера (pixel)  
Height Высота объекта (pixel)  
Width Ширина объекта (pixel)  
SpecialEffect Объемность (плоскость) объекта 0 -3D

Данные

ControlSource Источник данных (поле, переменная)  
Value Начальное значение переменной  
SpinnerHightValue MAX значение счетчика +2147483647
SpinnerLowValue MIN значение счетчика -2147483647
Increment Шаг счетчика 1
RowSourceType Тип источника строк (поле,массив,запрос)  
RowSource Источник данных для строк списка  

Доступ к объекту

ReadOnly Только для чтения .f.
Enabled Объект активный (неактивный) .t.
Visible Объект видимый (невидимый) .t.

Класс Timer

Interval Значение интервала в мс, после истечения которого управление передается методу Timer данного объекта 0

Класс Grid

ColumCount Количество колонок (столбцов) -1
GridLine Тип раздел. линии (вертик., гориз., сетка) 3
GridLineColor Цвет разделительной линии 0,0,0
GridLineWidth Ширина разделительной линии 1
RecordSourceType Тип источника данных (таблица, запрос)  
RecordSource Источник данных (имя таблицы, запроса)  

Класс PageFrame

ActivePage Активная страница (при запуске) 1
PageCount Количество страниц 2
Picture Фоновая картинка на странице  

 

Таблица 2 (продолжение)

Свойство Описание Значение по умолчанию

Класс Line

BorderColor Цвет линии 0,0,0
BorderStyle Стиль:      0 Линия имеет цвет фона                   1 Тонкая                   2 Штриховая                   3 Пунктирная                   4 Штрих-пунктир                   5 Штрих -двойной пунктир                    6 Непрерывная 1
BorderWidth Толщина линии 1
LineClant Ориентация линии “/” или “\” /

Класс Shape

BackStyle Фон 1 – непрозрачный        0 – прозрачный 1
FillStyle Узор заполнения (по умолчанию-сплошной) 1
Curvature Изгиб от 0 до 99 0

                    

Таблица 3

Допустимые типы полей

Тип данных Описание Размер Диапазон
Character Произвольный текст 1-256 символов Любые символы
Currency Денежная сумма 8 байтов от -922337203685477.5807 до 922337203685477.5807
Date Хронологическая дата 8 байтов от 01.01.0001 до31.12.9999г
Logical Логическое значение 1 байт Истина (.Т.) или Ложь (.F.)
Numeric Целое или с дробной частью число от 1 до 20 бт в таблице от -.9999999999Е+19 до.9999999999Е+20
Double Число с плавающей запятой двойной точности 8 байтов -4.940656458412Е-324 до 8.98846567431Е+307
General Ссылка на OLE-объект 4 байта в таблице Ограничен только доступной памятью
Integer Целочисленные значения 4 байта от –2147483647 до 2147483647
Memo Ссылка на блок данных 4 байта в таблице Ограничен только доступной памятью


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: