- •Министерство образования и науки Российской Федерации
- •Содержание
- •Лабораторная работа №1-2 анализ поведения системы с использованием контекстных диаграмм йордана – де марко
- •Лабораторная работа №3 анализ данных. Построение инфологической модели данных бд
- •Задание 1
- •Задание 3
- •Задание 5
- •Задание 6
- •Задание 7
- •Задание 9
- •Лабораторная работа №4 преобразование инфологической модели данных в реляционную на основе правил преобразования
- •Лабораторная работа №5 построение реляционной моедли бд с использованием метода нормальных форм
- •Лабораторная работа №6 Проект как средство объединения элементов приложения. Создание базы данных в состве проекта visual foxpro
- •Лабораторная работа №7 создание базы данных в составе проекта vfp
- •Лабораторная работа №8 создание форм как средства работы с таблицами
- •Форма как средство ввода и редактирования данных
- •Создание формы с помощью конструктора форм
- •Окно конструктора форм
- •2. Создание формы
- •3. Настройка параметров формы
- •4. Среда окружения формы
- •6. Размещение объектов в форме
- •6.1. Размещение полей таблиц и надписей к ним с использованием построителя формы
- •6.2. Текстовая информация
- •6.3. Поле ввода
- •6.4. Использование построителя для создания формы
- •6.5. Поле редактирования
- •6.6. Кнопки управления
- •6.6.1. Размещение одиночных кнопок
- •6.6.2. Редактирование составных объектов Создание группы кнопок
- •7. Создание формы с помощью мастера
- •Лабораторная работа № 9-10 Запросы к базе данных
- •I. Создание однотабличного запроса:
- •II. Создание многотабличного запроса:
- •III. Группировка полей запроса
- •IV. Подзапросы
- •Использование представлений данных
- •Создание представления данных
- •Просмотр представления данных
- •Сохранение созданного представления данных
- •Параметры представления данных
- •Редактирование данных
- •Установка редактируемых полей
- •Лабораторная работа № 11-12 Создание и печать отчетов
- •2.2. Типы полос окна конструктора отчета
- •Лабораторная работа №13 Хранимые процедуры и триггеры
- •1. Условия достоверности, хранимые процедуры, триггеры
- •Хранимые процедуры
- •Условия достоверности ввода данных на уровне поля таблицы
- •Условия достоверности ввода данных на уровне записей
- •Триггеры
- •Использование триггеров и хранимых процедур
- •Использование триггеров при определении ссылочной целостности
- •Определение значения поля при добавлении новой записи
- •Проверка удовлетворения введенных значений заданному условию
- •Лабораторная работа № 14 Создание меню приложения
- •Лабораторная работа № 15 Генерация приложения
- •Построение проекта и генерация приложения
- •Установка основной программы проекта
- •Использование опции Exclude
- •Очистка проекта от удаленных файлов
- •Построение проекта
- •1. Последовательность действий при настройке параметров формы
- •Форматы данных
- •2. Поле ввода
- •Коды шаблонов picture
- •3. Использование построителя при создании поля ввода
- •Назначение флажков вкладки format
- •Назначение параметров вкладки style
- •4. Поле редактирования
- •5. Кнопки управления
- •5.1. Размещение одиночных кнопок
- •5.2. Создание группы кнопок
- •Расширенные средства ввода данных
- •1. Отображение данных в форме в табличном виде
- •2. Использование построителя
- •Назначение вкладок окна Grid Builder
- •3. Свойства, определяющие объект Grid
- •3.1. Свойства объекта Column
- •Свойства объекта Header
- •3.3. Свойства объекта Text
- •4. Создание многотабличных форм для таблиц, имеющих отношение "один-ко-многим"
- •4.1. Создание многотабличной формы с помощью мастера
- •Варианты продолжения работы с формой
- •4.2. Создание объекта Grid с помощью конструктора форм
- •Создание формы, содержащей объект Grid
- •Создание формы, содержащей три объекта Grid
- •5. Создание формы с вкладками
- •6. Набор форм
- •7. Таймер
- •Назначение свойств объекта Timer
- •7.1. Создание формы с использованием таймера
- •8. Добавление данных в список
- •Рекомендации по созданию отчета
- •Создание отчета с помощью конструктора отчетов
- •1. Окно конструктора отчетов
- •2. Типы полос окна конструктора отчета
- •3. Использование команды Quick Report для размещения полей
- •4. Установка среды окружения отчета
- •5. Размещение объектов в отчете
- •5.1.Размещение в отчете текстовой информации
- •5.2. Добавление в отчет областей заголовка и итогов
- •5.3. Создание простого отчета
- •5.4. Размещение полей
- •5.5. Формирование выражения поля
- •5.6. Задание формата данных
- •5.7. Задание условий печати
- •5.8. Расположение поля в полосе
- •5.9. Размещение итогового поля
- •5.10. Размещение в отчете линий и прямоугольников
- •5.11. Панель инструментов Color Palette
- •5.12. Размещение в отчете рисунков
- •6. Создание отчета в свободной форме
- •7. Создание табличного отчета
- •8. Группировка данных в отчете
- •8.1. Использование группировки в отчете
- •9. Использование в отчете переменных
- •10. Разметка страницы отчета
- •11. Создание многоколоночного отчета
Создание формы, содержащей три объекта Grid
В рассмотренном примере мы использовали поля формы для отображения информации главной таблицы. Модифицируем созданную форму и разместим поля таблицы customer в объекте Grid (Таблица).
Откройте в окне конструктора форм созданную в предыдущем примере форму и сохраните ее под новым именем.
Удалите из формы все поля и надписи, оставив только объекты Grid (Таблица) (рис. 17).
Нажмите кнопку Grid (Таблица) на панели инструментов Form Controls (Элементы управления формы), установите указатель в левой верхней части формы и создайте новый объект Grid (Таблица).
В окне свойств созданного объекта скорректируйте для объекта Grid (Таблица) свойство coiumncount (Количество столбцов), задав количество столбцов (4) в создаваемом объекте.
Свяжите столбцы объекта с полями ccompany, clastname, cfirstname и caddress таблицы Customer.
Рис. 17. Удаление из формы полей ввода и надписей к ним
Скорректируйте для вновь созданных объектов свойства, определяющие цвет сетки таблицы, расположение заголовков, цвета отображения заголовков и выводимых данных.
Сохраните форму и запустите ее на выполнение. Вид созданной формы показан на рис. 18.
Visual FoxPro позволяет создавать формы, содержащие несколько вкладок. Объекты данного типа удобно использовать в том случае, когда необходимо разместить большой объем информации или для удобства работы требуется основную, наиболее часто используемую информацию, сгруппировать в одном месте, отделив от менее важной информации.
Рис. 18. Форма с тремя объектами Grid
5. Создание формы с вкладками
Чтобы создать вкладки в форме, необходимо воспользоваться кнопкой Page Frame (Вкладка) панели инструментов Form Controls (Элементы управления формы). Созданный объект содержит в контекстном меню команду Edit (Правка), указывающую, что он является сложным объектом, в котором вкладки наделены своими собственными свойствами. Количество вкладок задается свойством Pagecount (Количество вкладок). В процессе создания формы переход с одной вкладки на другую осуществляется в режиме редактирования.
Создание объекта типа page Frame (Вкладка) рассмотрим на примере разработки многостраничной формы для таблицы customer. Форма будет содержать две вкладки. На первой вкладке будет располагаться объект Grid (Таблица), содержащий список всех клиентов, а на второй — дополнительные данные о выбранном на первой вкладке клиенте.
Откройте окно конструктора форм для создания новой формы. Скорректируйте свойство caption (Надпись) формы, введя заголовок формы Список клиентов.
Откройте диалоговое окно Data Environment (Среда окружения), выполнив команду Environment (Окружение) из меню View (Вид).
Используя команду Add (Добавить) всплывающего меню, добавьте в форму таблицу Customer. Закройте диалоговое окно.
Нажмите кнопку Page Frame (Вкладка) на панели инструментов Form Controls (Элементы управления формы).
Установите указатель в форму и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка размером с форму (рис. 19).
Рис. 19. Размещение в форме объекта Page Frame
Откройте окно свойств созданного объекта. Убедитесь, что для свойства Pagecount, определяющего количество вкладок формы, по умолчанию установлено значение 2.
Скорректируйте свойство Caption (Надпись) для объектов Page1 и Раде2, определяющих заголовок каждой вкладки. Для объекта Pagei введите заголовок Основная информация, а для объекта Раgе2 — Дополнительная информация.
Для перехода в режим редактирования объекта Page Frame (Вкладка) выберите команду Edit (Правка) контекстного меню. Вокруг объекта появилась штриховая контурная рамка.
Убедитесь, что вы находитесь на первой вкладке объекта Page Frame (Вкладка). Для этого щелкните мышкой на вкладке Основная информация в верхней части формы.
Используя кнопку Grid (Таблица) на панели инструментов Form Controls (Элементы управления формы), создайте объект Grid (Таблица) для отображения полей icdcustomer, ccompany таблицы Customer.
В третьем столбце таблицы для отображения фамилии, имени и отчества представителя в свойстве Control Sourсе (Источник данных) введите выражение следующего вида:
a lit rim (customer .cLastname) + " " + allt rim (customer .cFirstname) + " " + alltrim(customer.cSecondname)
Определите заголовки столбцов и другие параметры созданного объекта Grid (Таблица).
В нижней части страницы расположите кнопки перемещения по записям таблицы и выхода из формы.
На рис. 20 представлена первая вкладка созданной формы.
Рис. 20. Первая страница многостраничной формы
Перейдите на вторую вкладку объекта Page Frame (Вкладка). Для этого щелкните на названии вкладки Дополнительная информация в верхней части формы.
Совет
Если ваша попытка перейти на вторую вкладку оказалось безуспешной, убедитесь, что объект Page Frame (Вкладка) находится в режиме редактирования.
На второй странице объекта расположите все поля таблицы Customer и надписи к ним.
При переходе на другую вкладку формы необходимо обновлять значения данных, отображаемых в ней. Для этого вы можете использовать событие Activate (Активизация) каждой вкладки объекта Page Frame (Вкладка). Откройте окно редактирования процедуры обработки данного события и введите следующую команду, использующую метод Refresh (Обновить):
screen.ActiveForm.Refresh()
Окно процедур для метода Refresh представлено на рис. 21.
Сохраните созданную форму и запустите ее на выполнение.
Замечание
Обратите внимание, что после ввода информации в окно процедуры в свойстве данного метода появляется значение [User Procedure].
Рис. 21. Окно процедуры для метода Refresh
Используя первую вкладку формы, вы можете, перемещаясь по записям таблицы, просмотреть весь список клиентов. Для просмотра дополнительной информации по любому из клиентов установите на него курсор и нажмите ярлык Дополнительная информация. В результате откроется вторая вкладка формы (рис. 22), на которой располагается дополнительная информация о выбранном клиенте.
Рис. 22. Вторая вкладка формы