Министерство Образования и Науки Российской Федерации
Федеральное Агентство по Образованию
Государственное образовательное учреждение
Высшего профессионального образования
Новосибирский Государственный Технический Университет
Кафедра ВТ
Лабораторная работа №4
Разработка экранных форм ввода-вывода данных
Факультет: АВТ
Группа: АМ-411
Студент:
Преподаватель:
Вариант: 9
Новосибирск, 2007 г.
Цель работы
Изучить средства Visual Fox Pro 6.0, позволяющие создавать экранные формы ввода-вывода в удобном для пользователя виде, сопровождая их пояснительными надписями. Изучить различные элементы управления такие, как кнопки, переключатели, списки, раскрывающиеся списки, счетчики, флажки, поля ввода и редактирования.
Задание
Создать форму на основе лабораторной работы №1. В форме обязательно присутствие элементов таких, как Label, TextBox, EditBox, CommandButton, OptionGroup, CheckBox, ComboBox, Spinner, Image, CommonGroup, Grid. Элементы формы в качестве выполняемого действия должны содержать результаты предыдущих лабораторных работ: создание отчета, поиск, сортировка, редактирование, просмотр данных, индексирование по заданному критерию, и т. д. Форма должна быть озаглавлена, а также содержать кнопки перемещения по базе данных и кнопку «Выход». Предполагается, что база данных создана ранее либо предусматривается ее создание стандартными средствами в среде Visual Fox Pro 6.0. Также обязательным условием является наглядное представление работы созданных элементов.
Форма должна иметь 5 вкладок, изменять цвет и возвращать его к обычному с помощью флажка. Переключатель должен иметь 12 положений, вид переключателя – стандартный. Счетчик ограничивается значениями «-11» и «2», значения «-10» и «1» являются минимумом и максимумом для ввода в поле счетчика с клавиатуры, шаг изменения значения поля равен 0.9. Раскрывающийся список создать таким, чтобы из него пользователь мог выбрать значение или ввести его в поле ввода списка, источником данных для которого является массив.
Результаты работы
Для создания формы воспользуемся Мастером создания форм. После создания форма уже имеет заголовок, поля ввода с отображаемыми в них при запуске формы значениями полей исходной базы данных. Также в форме первоначально есть специальная группа управляющих кнопок для работы с базой данных через форму:
|
Рис.1. Созданная Мастером форма. |
Для того, чтобы форма содержала 5 вкладок в свойствах формы в поле PageCount элемента PageFrame устанавливаем значение 5:
|
Рис.2. Число вкладок формы.. |
На второй вкладке, названной Index&Show, разместим переключатель на 12 положений, кнопки управления, метки и поля редактирования. Переключатель на 12 положений позволяет выбрать поле, по которому будет производиться индексирование. Кнопка «Index» непосредственно запускает операцию индексирования и просмотра индексированной таблицы. Кнопки «First», «Next», «Previous», «Last» позволяют перемещаться по записям таблицы: на первую запись, следующая запись, предыдущая запись, последняя запись соответственно. В полях редактирования отображаются фамилия и группа студента:
|
Рис.3. Вторая вкладка формы. |
Приведем текст программ, выполняющихся при нажатии на кнопки второй формы:
Кнопка «INDEXing»:
use "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\table1"
do case
case thisform. pageframe1.page2.Optiongroup1.value == 1
index on фамилия to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 2
index on имя to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 3
index on отчество to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 4
index on возраст to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 5
index on группа to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 6
index on курс to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 7
index on факультет to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 8
index on размер_стипендии to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 9
index on номер_общежития to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 10
index on номер_комнаты to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 11
index on телефон to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
case thisform. pageframe1.page2.Optiongroup1.value == 12
index on место_рождения to "D:\Andrey\Учеба\Семестр 7\БД\Лабы\Laba4\index_fil"
endcase
browse
Кнопка «First»:
if! EOF()
go top
endif
thisform. refresh
Кнопка «Previous»:
if! EOF()
skip -1
endif
thisform. refresh
Кнопка «Next»:
if! EOF()
skip +1
endif
thisform. refresh
Кнопка «Last»:
if! EOF()
go bottom
endif
thisform. refresh
Третья вкладка, названная «Color&Report», содержит управляющие кнопки, флажок, раскрывающийся список и счетчик. Кнопки Yellow, Blue, Green, Red позволяют покрасить текущую страницу в желтый, синий, зеленый, красный цвета соответственно. Из раскрывающегося списка можно выбрать один из вышеперечисленных цветов и с помощью кнопки “Paint” перекрасить текущую страницу. Кнопка «View report» открывает созданный отчет в режиме промотра. Счетчик ограничивается значениями «-11» и «2», значения «-10» и «1» являются минимумом и максимумом для ввода в поле счетчика с клавиатуры, шаг изменения значения поля равен 0.9.
|
Рис.4. Третья вкладка формы. |
|
Рис.5. Свойства счетчика. |
|
Рис.6. Свойства раскрывающегося списка. |
Приведем текст программ, выполняющихся при нажатии на кнопки третьей формы:
Кнопка «PAINT!!!»:
do case
case thisform. pageframe1.page3.Combo1.value == 'Yellow'
thisform. pageframe1.page3.BackColor = RGB(253,234,2)
thisform. pageframe1.page3.check1.Value = 0
case thisform. pageframe1.page3.Combo1.value == 'Green'
thisform. pageframe1.page3.BackColor = RGB(37,238,2)
thisform. pageframe1.page3.check1.Value = 0
case thisform. pageframe1.page3.Combo1.value == 'Blue'
thisform. pageframe1.page3.BackColor = RGB(13,43,249)
thisform. pageframe1.page3.check1.Value = 0
case thisform. pageframe1.page3.Combo1.value == 'Red'
thisform. pageframe1.page3.BackColor = RGB(243,19,1)
thisform. pageframe1.page3.check1.Value = 0
endcase thisform. refresh
Флажок «To default color»
IF thisform. pageframe1.page3.check1.Value = 0
thisform. pageframe1.page3.BackColor = RGB(212,208,200)
thisform. pageframe1.page3.check1.Value = 1
ENDIF
Четвертая вкладка, названная “Grid”, содержит таблицу и кнопку для отображения таблицы.
|
Рис.7. Четвертая вкладка формы. |
|
Рис.8. Свойства таблицы. |
Приведем текст программ, выполняющихся при нажатии на кнопки четвертой формы:
Кнопка «ShowTable»:
thisform. pageframe1.page4.Grid1.RecordSource = 'table1'
thisform. refresh
Пятая вкладка содержит 2 рисунка:
|
Рис.9. Пятая вкладка формы. |
Выводы
В процессе выполнения четвертой лабораторной работы изучены средства Visual FoxPro для создания экранной формы ввода-вывода данных в удобном для пользователя виде. Изучены различные элементы управления, такие как: кнопки, переключатели, раскрывающиеся списки, счетчики, флажки, поля ввода и редактирования. Создана форма, имеющая 5 вкладок, с помощью управляющих кнопок или раскрывающегося списка можно перекрашивать страницу формы в различные цвета, а с помощью флажка сбрасывать ее цвет в исходный. Можно просмотреть созданный отчет для исходной таблицы. Форма также содержит счетчик и другие элементы управления. Выполнение этой лабораторной работы позволит в дальнейшем быстро и качественно создавать экранные формы ввода-вывода данных в среде Visual FoxPro.











