Разработка экранных форм ввода-вывода данных

Страницы работы

Содержание работы

Министерство образования и науки РФ

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

Кафедра ВТ

Отчет по лабораторной работе №4

Разработка экранных форм ввода-вывода данных

Факультет:  АВТ

группа:          АМ-209

студенты:      Феклин В.В.   

преподаватель: Трошина Г.В.

            вариант:        4

НОВОСИБИРСК 2005

Цель работы

Изучить средства Visual FoxPro 6.0, позволяющие создавать экранные формы ввода-вывода данных в удобном для пользователя виде, сопровождая их пояснительными надписями, использовать другие элементы оформления: рамки, выделение цветом. Изучить различные элементы управления такие, как кнопки, переключатели, списки, раскрывающиеся списки, счетчики, флажки, поля ввода и редактирования.

Задание

Создать форму на основе лабораторной работы №1. В форме обязательно присутствие элементов: Label, TextBox, EditBox, CommandButton, Option Group, Check Box, Spinner, Image, Grid.Элементы формы в качестве выполняемого действия должны содержать результат предыдущих работ. Форма должна быть озаглавлена, а также содержать кнопки перемещения по базе и кнопку выхода. Также обязательным условием является наглядное представление созданных элементов.

Индивидуальное задание

Форма должна иметь 4 вкладки, изменять цвет и возвращать его к обычному с помощью переключателя, вид переключателя графический, количество положений 6. Счетчик ограничивается значениями “-5” и “10”. Эти же значения являются минимумом и максимумом для ввода в поле счетчика с клавиатуры. Шаг изменения значения поля равен 1.25. Раскрывающийся список сделать таким, чтобы из него пользователь мог выбрать значение или ввести его в поле ввода, источником для которого являются поля таблицы.

Результаты работы

Созданная форма приведена на рисунке 1. Форма содержит заголовок, четыре вкладки, таблицу, кнопки перемещения по таблице и кнопку выход.

Кнопки перемещения по таблице и выхода выполнены в виде элемента Command Group:

HOME:

GO TOP

THISFORM.Refresh

END:

GO BOTTOM

THISFORM.Refresh

>>>:

if EOF()

   MessageBox("Уже конец!")

else

   skip 1

endif

THISFORM.Refresh

<<<:

skip -1

thisform.refresh

THISFORM.grid_table.Refresh

Для удобной работы с таблицей в функцию Refresh основного окна внесено изменение:

thisform.grid_table.setfocus()

Вкладки формы разбиты по тематике:

Редактирование:

Кнопка «Удалить» позволяет: пометить запись на удаление, если применена опция «Стереть», либо сразу стереть запись из базы если опция включена:

delete

if thisform.pageframe1.page1.check1.value==1

   pack

endif

thisform.refresh()

Рис.1 Полученная форма

Кнопка «Отменить» позволяет снять выделение на удаления с текущей записи, либо со всех записей таблицы, если применена опция «Для всех»:

if thisform.pageframe1.page1.check2.value==1

   recall all

else

   recall

endif

thisform.refresh()

Кнопка «Добавить» позволяет добавить новую запись в базу:

append

thisform.refresh()

Рис.2 Вкладка Редактирование

Цвет

На вкладке «Цвет» расположено два графических переключателя на 6 положений, позволяющих изменять цвет фона основного окна и цвет фона таблицы:

do case

case thisform.pageframe1.page2.optiongroup1.value==1

     thisform.BackColor=RGB(128,249,139)

case thisform.pageframe1.page2.optiongroup1.value==2

     thisform.BackColor=RGB(126,151,235)

case thisform.pageframe1.page2.optiongroup1.value==3

     thisform.BackColor=RGB(243,84,112)

case thisform.pageframe1.page2.optiongroup1.value==4

     thisform.BackColor=RGB(255,255,145)

case thisform.pageframe1.page2.optiongroup1.value==5

     thisform.BackColor=RGB(136,236,236)

case thisform.pageframe1.page2.optiongroup1.value==6

     thisform.BackColor=RGB(232,218,140)

endcase

С помощью кнопки «Стандартная цветовая схема» можно вернуть настройки цвета к исходному:

thisform.pageframe1.page2.optiongroup1.value=1

thisform.backcolor=RGB(128,249,139)

thisform.pageframe1.page2.optiongroup2.value=5

thisform.grid_table.backcolor=RGB(136,236,236)

Счетчик позволяет изменять тон цвета выбранного с помощью переключателя:

Увеличить:

if thisform.pageframe1.page2.spinner1.value > -5.00

   t=thisform.grid_table.backcolor

   thisform.grid_table.backcolor=t-1000*thisform.pageframe1.page2.spinner1.value

   thisform.refresh

endif

Уменьшить

if thisform.pageframe1.page2.spinner1.value < 10.00

   t=thisform.grid_table.backcolor

   thisform.grid_table.backcolor=t+1000*thisform.pageframe1.page2.spinner1.value

   thisform.refresh

endif

Рис.3 Вкладка Цвет

Поиск

На данной вкладке содержится набор элементов с помощью которых можно: Oтсортировать записи  базы данных по фамилии студентов, либо по авторам (кнопка «Индексировать»):

set safety off

if thisform.Pageframe1.Page3.Optiongroup_search.value==1

   index on Author to knigi

   thisform.refresh()

else

   index on Last_name to knigi

   thisform.refresh()

endif

set safety on

Найти запись по фамилии студента либо по автору и ограничить поиск отдельным факультетом:

set safety off

if thisform.Pageframe1.Page3.Search_Param.value==""

   MessageBox("Введите параметр поиска!")

   thisform.Pageframe1.Page3.Search_Param.setfocus()

else

   if thisform.Pageframe1.Page3.Optiongroup_search.value==1

      if thisform.Pageframe1.Page3.combo1.value==""

         index on Author to knigi

      else

         index on Author to knigi for knigi.facultet=thisform.Pageframe1.Page3.Combo1.value

      endif

      seek thisform.Pageframe1.Page3.Search_Param.value

      thisform.refresh()

   else

      index on Last_name to knigi

      seek thisform.Pageframe1.Page3.Search_Param.value

      thisform.refresh()

   endif

endif

set safety on

Рис.4 Вкладка Поиск

Отчет

На этой вкладке расположены две кнопки для создания обычного и многоколоночного отчета:

report form e:\am-209\lab_44\knigi.frx preview

report form e:\am-209\lab_44\float.frx preview

Также на вкладке расположен рисунок, при наведении на который появляется всплывающая подсказка, для вывода которой необходимо задать параметр ToolTipText и разрешить показ ShowTips.

Рис.4 Вкладка Отчет

По правому щелчку мыши в любом месте окна формы появится всплывающее меню:

do e:\am-209\lab_44\float_menu.mpr

Свойства

OptionGroup/Option:

-  Style – графический (для всех)

Spinner:

-  Incriment =1.25

-  SpinnerHightValue=10.00

-  SpinnerLowValue=-5.00

-  KeyboardHightValue=10

-  KeyboardLowValue=-5

ComboBox:

-  RowSource=knigi.facultet

-  RowSourceType=6-Fealds

Command:

-  ToolTipText=”Пояснение”

Image:

-  ToolTipText=”Пояснение”

Frame:

-  ShowTips=True

-  BackColor=128,249,139

Grid:

-  BackColor=136,236,236

Анализ результатов

С помощью форм ввода-вывода можно удобно организовывать работу с базой данных, выполнять которую может любой пользователь. Для каждого элемента формы можно задать реакцию на любое действие пользователя, а также настроить внешний вид и тип данных, с которым связан данный элемент.

Выводы

Разработка экранных форм ввода вывода – набор средств, для расширения круга пользователей среды и автоматизации работы в ней.

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
645 Kb
Скачали:
0