Министерство Образования и Науки Российской Федерации

Федеральное Агентство по Образованию

Государственное образовательное учреждение

Высшего профессионального образования

Новосибирский Государственный Технический Университет

Кафедра ВТ

Лабораторная работа №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.