Министерство Общего и Профессионального Образования РФ
Новосибирский Государственный Технический
Университет
Лабораторная работа №6
«Создание формы с помощью конструктора форм»
Факультет: АВТ
Группа: АМ-811
Студенты: Кропин П.А.
Капилюшин Я.В.
Коломейцев М.В.
Преподаватель: Трошина Г.В.
Вариант: 1
- 2001-
Цель работы: Приобретение навыков разработки форм с использованием конструктора форм для учебной базы данных.
Задание: Разработать форму с помощью мастера автоформы и конструктора форм согласно варианту лабораторной работы №1.
При создании формы в окне конструктора форм осуществить настройку параметров формы, разместить в форме: текст, поля различных типов, рисунки, кнопки управления. Выполнить настройку свойств размещённых в форме объектов. Уметь задавать текст заголовка формы, стиль обрамления, текстовую информацию, поля ввода и редактирования. Создать раскрывающийся список, счётчик, переключатель, флажки, одиночную кнопку и набор кнопок управления, разместить изображение в форме, использовать линии, прямоугольники и другие фигуры для улучшения внешнего вида формы.
В работе построили 2 формы. Одну из них - с помощью мастера автоформы для базы данных из лабораторной работы №1. Рисунок данной формы изображён ниже.
При нажатии на кнопку «Показать форму» отображается вторая форма, построенная с помощью конструктора форм. Функциональность, которой обладает форма следующая:
- С помощью выпадающего списка (Combo Box) можно выбрать поле, по которому будет производиться сортировка базы данных
- Эту же операцию можно осуществить с помощью счётчика. При нажатии на кнопку увеличения значения счётчика из списка выбирается следующее поле, при уменьшении – предыдущее.
- Галочка, поставленная в элементе Checkbox означает, что при выводе отсортированной базы данных на экран в ней не будет выведено поле, выбранное в переключателе (т.е. либо фамилия, либо курс).
- При нажатии на кнопку «Выполнить сортировку» осуществляется сортировка БД с последующим выводом на экран. Например отсортированная по фамилии БД выгладит следующим образом:
- При нажатии на кнопки MIN, MAX, AVG производится поиск в БД соответственно минимальной, максимальной и средней стипендии.
- Кнопка «Посчитать» выводит число элементов, в данный момент находящихся в форме, используя внутреннюю переменную формы. При этом, если поставлена галочка перед пунктом «Выводить имена элементов», то на экране также отображаются имена элементов.
Ниже приводятся обработчики событий для элементов формы:
Метод init() для Combo Box:
this.AddItem('Сортировка по фамилии')
this.AddItem('Сортировка по имени')
this.AddItem('Сортировка по курсу')
this.AddItem('Сортировка по стипендии')
Метод click() для кнопки «Выполнить сортировку»:
close all
ACTIVATE SCREEN && to print to the main Visual FoxPro window
clear
use d:\ngtu\субд\6\6\st1
erase d:\ngtu\субд\6\6\st1.idx
do case
case form2.Combo1.Value='Сортировка по фамилии'
index on fname to d:\ngtu\субд\6\6\st1.idx
case form2.Combo1.Value='Сортировка по имени'
index on mname to d:\ngtu\субд\6\6\st1.idx
case form2.Combo1.Value='Сортировка по курсу'
index on course to d:\ngtu\субд\6\6\st1.idx
case form2.Combo1.Value='Сортировка по стипендии'
index on stipendia to d:\ngtu\субд\6\6\st1.idx
endcase
if form2.Check1.Value=1
if form2.OptionGroup1.Option1.Value=1
browse FIELDS mname,lname,data,course,fakultet,stipendia,studid,year
else
browse FIELDS fname,mname,lname,data,fakultet,stipendia,studid,year
endif
else fname,mname,lname,data,course,fakultet,stipendia,studid,year
browse
endif
close all
Метод click() для кнопки «MIN»:
SELECT MIN(ST.Stipendia);
FROM d:\ngtu\субд\6\6\st1.dbf ST
close all
Метод click() для кнопки «MIN»:
SELECT MAX(ST.Stipendia);
FROM d:\ngtu\субд\6\6\st1.dbf ST
close all
Метод click() для кнопки «MIN»:
SELECT AVG(ST.Stipendia);
FROM d:\ngtu\субд\6\6\st1.dbf ST
close all
Метод click() для кнопки «Посчитать»:
ACTIVATE SCREEN && to print to the main Visual FoxPro window
clear
form2.Text1.Value=form2.ControlCount
if form2.Check5.Value=1
FOR nCnt = 1 TO _SCREEN.ActiveForm.ControlCount
? _SCREEN.ActiveForm.Controls[nCnt].Name
ENDFOR
endif
close all
Вывод:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.