Лаб 2 Создание интерактивных форм в OpenOffice

Лабораторная работа №2
Создание интерактивных форм в OpenOffice.org Writer
С помощью OpenOffice.org Writer можно создавать формы любой сложности, начиная от простого опросника и заканчивая сложными интерактивными тестами. В этой работе рассказывается о том, как создать простую викторину, используя средство форм, и как добавить ей интерактивности при помощи макросов.
Викторина, которую мы будем создавать, состоит из серии вопросов, каждый из которых имеет несколько вариантов ответов. Перед тем, как начать разрабатывать викторину, требуется создать базу данных, содержащую все вопросы. Эта база данных упростит процесс управления и добавления вопросов в викторину. 
Задание 1. Создание базы данных
Создайте новую базу данных с помощью Base, и убедитесь, что зарегистрировали её для использования в других приложениях OpenOffice.org, выбрав опцию «Да, зарегистрировать базу данных» в Мастере базы данных. Создайте новую таблицу и отредактируйте её структуру.
[ Cкачайте файл, чтобы посмотреть картинку ]
Пример полей базы данных
Большинство полей вы можете использовать по своему усмотрению; тем не менее, обязательно нужно поле Question, содержащее текст вопроса. Также вы можете добавить и другие поля, например, Category (категория, к которой принадлежит вопрос), Level (уровень сложности вопроса), DateUsed (время, когда последний раз задавался вопрос) и Notes (различные примечания).
После того, как база данных будет готова, заполните её вопросами (не менее 12 вопросов). Как только вы сделаете это, можно начать работу над документом викторины.
Задание 2. Разработка документа викторины
Создайте пустой документ Writer и добавьте в него вопросы:
Нажмите F4 для открытия окна Источники данных (Data Source).
Щёлкните 2 раза по имени созданной базы данных, а затем по папке Таблицы (Tables).
Щёлкните по таблице, содержащей вопросы. Содержимое таблицы появится в окне справа.
Выберите вопрос, который хотите добавить, и перетащите его в документ (добавить не менее 8 вопросов).
Добавьте опции ответа. Так как викторина содержит вопросы с несколькими вариантами ответов, вы должны добавить группу к каждому вопросу, состоящую из правильного ответа и нескольких неправильных альтернатив. Чтобы сделать это, необходимо открыть панели инструментов, позволяющую добавлять средства управления формы и устанавливать их свойства.
Выберите Вид Панели инструментов и отметьте Элементы управления и Дизайн формы.
На панели инструментов Элементы управления щёлкните по кнопке Другие элементы для получения доступа к дополнительным видам элементов управления.
Переключитесь в режим разработки с помощью переключателя Режим разработки в панели управления Дизайн формы.
Щёлкните по кнопке Группа (Group Box) и нарисуйте прямоугольник в документе, справа от вопроса.
Откроется Мастер группового блока, который проведёт вас через процесс создания группы.
С помощью Мастера добавьте опции ответов и настройте другие параметры (их назначение вполне очевидно).
После нажатия на кнопку Готово в документ вставится групповой блок, содержащий радиокнопки с набранными ответами.
Аналогичным образом добавьте групповые блоки с ответами на другие вопросы викторины.
Задание 3. Добавление интерактивности
Если вы отключите режим разработки, то сможете протестировать форму, но она ещё не работает так, как нужно. Прежде всего, чтобы сделать форму интерактивной, необходимо добавить механизм, который будет информировать вас о корректности выбранного ответа. Это делается с помощью простого макроса.
Выберите Сервис Макросы Управление макросами OpenOffice.org Бэйсик (OpenOffice.org Basic),
Щёлкните 2 раза по имени документа, а затем по папке Standard.
Нажмите кнопку Создать, дайте имя новому модулю (например, FormMacros) и введите следующий код в открывшемся окне редактора макросов:

 Sub CorrectAnswer     Message="Ответ правильный!"     MsgBox Message End Sub   Sub IncorrectAnswer     Message="Ответ неправильный!"     MsgBox Message End Sub
Код содержит два отдельных макроса (CorrectAnswer и IncorrectAnswer), которые отображают всплывающее окно с текстом «Ответ правильный!» или «Ответ неправильный!». Сохраните изменения и закройте редактор.
Задание 4. Привязка макросов к радиокнопкам в группе
Чтобы можно было раздельно редактировать свойства радиокнопок в групповом блоке, сначала их нужно «разгруппировать». Для этого:
Выделите групповой блок
Щёлкните по нему правой кнопкой мышки, и выберите Группировка Изменить группу

[ Cкачайте файл, чтобы посмотреть картинку ]
Разгруппировка блока

Выделите первую радиокнопку, 2 раза щёлкните по ней или выберите Элемент управления в её контекстном меню
В окне Свойства откройте закладку События и нажмите на кнопку Обзор напротив поля Состояние изменено
Нажмите кнопку Макрос и выберите соответствующий макрос, например, CorrectAnswer для радиокнопки, представляющей правильный ответ
Повторите этот шаг для других радиокнопок в группе
По окончанию, выберите группу, щёлкните по ней правой кнопкой мышки и выберите Выход из группы.
Задание 5. Добавление стартовой кнопки
Викторина практически готова, но подобно другим формам, она нуждается в кнопке Начать (Reset), которая очищает все ответы. Чтобы это реализовать, необходим другой простой макрос.
Выберите Сервис Макросы Управление макросами OpenOffice.org Basic, выберите модуль FormMacros, нажмите кнопку Редактировать(Edit) и добавьте следующий код:
 Sub ResetControls      oDoc = thisComponent     oDrawPage = oDoc.getDrawPage()     oForms = oDrawPage.getForms()     oForm = oForms.getByName("Standard")    oForm.Reset() End Sub
 [ Cкачайте файл, чтобы посмотреть картинку ]
Привязка макроса
Вернитесь назад к документу, убедитесь, что вы в режиме разработки формы, нажмите Кнопка в панели инструментов Элементы управления и нарисуйте кнопку в документе.
Пока кнопка выделена, щёлкните правой кнопкой мыши по ней и выберите Элемент управления.
В окне Свойства на закладке Общие в поле Текст введите «Начать».
Щёлкните по закладке События, нажмите кнопку Обзор напротив поля Отпускание клавиши мыши, и привяжите макрос ResetControls к этой кнопке.
Выйдите из режима разработки. Проверьте работу викторины.









13PAGE 15


13PAGE 14415




поля в BaseРазгруппировка блокаПривязка макроса Заголовок 315

Приложенные файлы

  • doc 11084310
    Размер файла: 132 kB Загрузок: 1

Добавить комментарий