Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лекция № 6. Основные компоненты, входящие в состав приложений VFP






 

Основные компоненты, входящие в состав приложений VFP

Приложение на VFP состоит из следующих компонентов:

- все описание приложения храниться в специальном файле проекта (расширение PJX)

 

 

 

 

В VFP принципиально изменена система организации данных. Теперь она приблизилась к теоретическим основам реляционной модели и позволяет более естественно выполнять операции реляционной алгебры.

Основная единица хранения данных — это таблица, в столбцах и строках которой содержатся данные, как это и было раньше в dbf-файле. Таблица сохранила расширение файла dbf и имеет прямую совместимость со “старыми” dbf-файлами. Таблицы объединяются в базу данных (БД), в которой можно описать все связи, устанавливаемые между полями отдельных таблиц, правила проверки, определяющие реакцию системы на вносимые изменения, добавление или удаление данных и правила проверки целостности данных в БД. Файлы баз данных имеют расширение dbc и при открытии автоматически поддерживают все перечисленные установки для входящих в нее таблиц. При необходимости мы можем создать и таблицы, не входящие в БД, — свободные таблицы.

VFP5 обеспечивает поддержку значений NULL и выполнение операций с этими данными в соответствии со стандартом ANSI. Это облегчает задачу представления неизвестных данных и взаимодействие с базами данных SQL, которые могут содержать такие типы значений.

Для таблиц, входящих в БД, могут быть созданы следующие типы индексов, первые два из которых в FoxPro появились впервые:

• Первичный (Primary) — обеспечивает наличие только уникальных данных в поле, по которому построен. В таблице может быть только один первичный индекс.

• Кандидат (Candidate) — аналогичен первичному, но позволяет иметь несколько индексов этого типа для одной таблицы независимо от того, включена она в БД или нет.

• Регулярный (Regular) — обычный тип индекса, поддерживаемый в предыдущих версиях.

• Уникальный (Uniq) — при наличии одинаковых значении в поле, при активизации этого индекса обеспечивается вывод только уникальных значений. Этот тип индекса включен для поддержки совместимости.

 

Таким образом, база данных в VFP — это основной элемент организации данных, который помимо формирования структуры представления информации выполняет функции словаря данных за счет поддержки следующих функциональных возможностей:

• допускаются длинные имена таблиц;

• каждому полю и таблице можно давать комментарии;

• позволяется задавать длинные имена полей;

• для полей помимо идентификаторов появились заголовки, которые могут использоваться как в окне Browse, так и в качестве заголовков для колонок в объекте Grid;

• введены значения по умолчанию для полей;

• добавлены два новых типа индексов: первичный и кандидат;

• предусмотрены правила проверки для полей и записей при изменении и вводе новых данных;

• имеются триггеры для поддержания целостности данных;

• поддерживаются постоянные связи между таблицами, размещенными в БД;

• имеются процедуры БД для описания сложных условий правил проверки;

• появились соединения с внешними источниками данных;

• поддерживаются локальные и внешние просмотры.

 

Все объекты хранятся в таблицах(за исключением файлов PRG и TXT)

 

Контейнерный файл БД (DBC) – содержит информацию о всех остальных таблицах входящих в БД. (Словарь БД) А также о различных ограничениях, значениях по умолчанию, триггерах,

Индексах, связях между таблицами, и тд.

 

Интерфейс управляемый событиями.

 

Основные элементы языка программирования Visual FoxPro.

- типы данных;

- переменные и массивы;

-рабочие области;

-операторы поиска и перемещения по записям;

-операторы циклов;

-управляющие операторы;

 

Аналогично многим языкам высокого уровня язык Visual Foxpro работает с переменными некоторого фиксированного набора типов. Т.К. основная цель языка VSFP - обработка данных из таблиц то, соответственно, и типы переменных совпадают с возможными типами полей в таблицах VFP. Имена полей могут содержать до 254 символов, но не должны содержать пробелы, не могут начинаться с цифры и включать специальные символы кроме символов подчеркивания.

Поля могут быть следующих типов:

ТИП ОБОЗНАЧЕНИЕ ДЛИНА В БАЙТАХ
Character C 1-254
Character(binary) C 1-254
Memo M Не ограничена
Memo(binary) M Не ограничена
Numeric N 1-20 цифр, 0-19 дробных деся-тичных знаков (хранятся значения от -0.99E19 до 0.99E20) Целые числа храняться в этом же формате.
Float F 20 цифр, 0-19 дробных десятичных знаков (хранятся значения от -0.99E19 до 0.99E20)
Double B 8 (фиксированная длина, допускаются значения от -4.9Е-324 до 1.8Е308)
Integer I 4 (фиксированная длина, допускаются значения от -2 147 483 647 до 2 147 483 647)
Currenсy Y 8 (фиксированная длина, допускаются значения от -9.2Е14 до 9.2Е14)
Date D 8 (фиксированная длина, допускаются значения от 01.01.100 до 31.12.9999)
DateTime T 8 (фиксированная длина, допускаются значения от 01.01.100 до 31.12.9999 плюс время от 00.00.00 до 23.59.59)
Logical L 1 (фиксированная длина)
General G Не ограничена

 

Переменные в VSFP не являюся жестко типизованными - тип переменной определяется последним присвоенным значением.

Переменные создаются либо описанием операторами Public, Private, либо оператором присваивания.

В VSFP разрешается работа с одномерными и двумерными массивами переменных. Для этого они должны быть описаны специальной командой:

DECLARE/DIMENSION < переменная> (< вырN1> [, < N2> ])

[, < переменная> (< вырN1> [, < N2> ])]

Нумерация элементов массива начинается с 1.

Сразу после описания все элементы массива получают тип LOGICAL и значение.F.

Тип каждого отдельного элемента определяется результатом последней операции присваивания.

Разрешается повторное описание существующего массива без потери имеющихся данных.

При обращении к элементам массива разрешено использовать круглые или квадратные скобки.

 

VSFP Может одновременно работать с большим количеством таблиц. Каждая таблица открывается в так называемой рабочей области, открывая новую таблицу Вы либо выбираете определенную рабочую область командой SELECT, либо таблица будет открыта в текущей рабочей области. Всего VSFP имеет 32767 рабочих областей. При запуске по умолчанию активизируется рабочая область 1. Таблица в текущей области открывается командой:

USE < имя таблицы>.

Открытие таблицы в конкретной области:

USE < имя таблицы> IN < номер рабочей области>.

Открытие таблицы в свободной области с наименьшим номером:

USE < имя таблицы> IN 0.

Открытой таблице VSFP назначает псевдоним (Alias) - имя длиной до 10 символов, служащее для ссылок на эту таблицу:

USE < имя таблицы> IN 0 ALIAS < псевдоним>.

 

Дополнение:

Над переменными и полями таблиц могут выполняться следующие операции:

Математические (перечислены в порядке приоритетов):

** или ^ - возведение в степень;

* - умножение, / - деление;

+ - сложение, - -вычитание;

Логические (в порядке приоритетов):

NOT - НЕ(другая форма -!);

AND - логическое И;

OR - логическое ИЛИ;

Знаки логических операций (кроме!) окаймляются точками или пробелами.

Отношения:

< - меньше, > - больше, = - равно, # - не равно,

< = - не больше, > = - не меньше.

Знаки отношения применимы как к числовым выражениям, так и к датам и символьным выражениям.

Если сравниваются символьные строки разной длины, сравнение выполняется по длине второго выражения; Остаток левого операнда, превышающий длину правого операнда, игнорируется. Существуют операции отношения только для символьных выражений:

$ - сравнение символьных строк. Операция A$B даст значение.T. если A идентично B,

либо A входит в B, и.F. в противном случае.

== - сравнение на полное тождество символьных строк и по длине, и по содержанию, включая пробелы.

Сцепления:

+ - соединение двух или более строк в одну;

- то же, но пробелы в конце первой строки помещаются в конец итоговой строки;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.