Створення інтерактивних форм у Writer доступне і просто про роботу в офісних пакетах
Автор перекладу: Олександр Гец
За допомогою OpenOffice.org Writer можна створювати форми будь-якої складності, починаючи від простого опитувальника та закінчуючи складними інтерактивними тестами. Тут розповідається про те, як створити просту вікторину, використовуючи засіб форм і як додати їй інтерактивності декількома макросами.
Вікторина, яку ми створюватимемо, складається з серії питань, кожне з яких має кілька варіантів відповідей. Перед тим, як почати розробляти вікторину, гарною ідеєю буде створення бази даних, що містить усі питання. Ця база даних дуже спростить процес управління та додавання питань у вікторину.
Створіть нову базу даних за допомогою Base, і переконайтеся, що її зареєстрували для використання в інших програмах ТОВ, вибравши опцію «Так, зареєструвати базу даних» (“Yes, register the database for me”) у Майстері бази даних (Database Wizard). Створіть нову таблицю та відредагуйте її структуру.
Після того, як база даних буде готова, заповніть її питаннями. Як тільки ви зробите це, можна розпочати роботу над документом вікторини. Створіть порожній документ Writer та додайте до нього запитання:
- Натисніть F4, щоб відкрити вікно Джерела даних (Data Source).
- Клацніть двічі на ім'я створеної бази даних, а потім на папці Таблиці (Tables).
- Клацніть на таблиці, що містить питання. Вміст таблиці з'явиться у вікні праворуч.
- Виберіть запитання, яке потрібно додати, та перетягніть його до документа.
Наступним кроком буде додавання опції відповіді. Так як вікторина містить питання з кількома варіантами відповідей, ви повинні додати групу до кожного питання, що складається з правильної відповіді та кількох неправильнихальтернатив (їх іноді називають distractors). Щоб це зробити, необхідно відкрити панелі інструментів, що дозволяє додавати засоби керування форми та встановлювати їх властивості. Виберіть Вигляд (View) — Панелі інструментів (Toolbars) і позначте Елементи керування (Form Controls) та Дизайн форми (Form Design). На панелі інструментів Елементи керування натисніть кнопку Інші елементи (More Controls), щоб отримати доступ до додаткових видів елементів керування. Перейдіть в режим розробки за допомогою перемикача Режим розробки (Design Mode) на панелі керування Дизайн форми. Клацніть на кнопці Група (Group Box) і намалюйте прямокутник у документі, праворуч від питання.
Відкриється Майстер групового блоку (Group Element Wizard), який проведе вас через створення групи. За допомогою Майстра додайте опції відповідей та налаштуйте інші параметри (їхнє призначення цілком очевидне). Після натискання на кнопку Готово (Finish) в документ вставиться груповий блок, що містить радіокнопки з відповідними відповідями. Аналогічно потрібно додати групові блоки з відповідями інші питання вікторини.
Додамо інтерактивності
Якщо ви відключите режим розробки, то зможете протестувати форму, але вона ще працює так, як потрібно. Насамперед, щоб зробити форму інтерактивною, необхідно додати механізм, який інформуватиме вас про коректність обраної відповіді. Це робиться за допомогою простого макросу.
Sub CorrectAnswer Message="Відповідь правильна!" MsgBox Message End Sub
Sub IncorrectAnswer Message="Відповідь неправильна!" MsgBox Message End Sub

Наступним кроком буде прив'язка відповідного макросу до кожної радіокнопки групи. Щоб можна було роздільно редагувати властивостірадіокнопок у груповому блоці, спочатку їх потрібно «розгрупувати». Виділіть груповий блок, клацніть по ньому правою кнопкою мишки і виберіть Угруповання (Group) — Змінити групу (Edit Group). Після цього виділіть першу радіокнопку, двічі клацніть по ній або виберіть Елемент керування (Control) у її контекстному меню. У вікні Властивості (Properties) відкрийте закладку Події (Events) та натисніть кнопку Огляд (Browse) навпроти поля Стан змінено (Item Status Changed). Натисніть кнопку Макрос (Assign) і виберіть відповідний макрос, наприклад CorrectAnswer для радіокнопки, що представляє правильну відповідь. Повторіть цей крок для інших радіокнопок у групі. Після закінчення виберіть групу, клацніть по ній правою кнопкою мишки і виберіть Вихід з групи (Exit Group).
Вікторина практично готова, але подібно до інших форм, вона потребує кнопки Почати (Reset), яка очищає всі відповіді; щоб це реалізувати, вам потрібний інший простий макрос. Виберіть Сервіс — Макроси — Управління макросами — OpenOffice.org Basic, виберіть модуль FormMacros, натисніть кнопку Редагувати(Edit) та додайте наступний код:

Поверніться назад до документа, переконайтеся, що ви в режимі розробки форми, натисніть кнопку в панелі інструментів Елементи керування і намалюйте кнопку в документі. Поки кнопка виділена, клацніть правою кнопкою миші по ній і виберіть пункт Елемент керування. У вікні Властивості на закладці Загальні у полі Текст введіть «Почати». Клацніть на закладці Події, натисніть кнопку Огляд навпроти поля Відпускання клавіші миші (Mouse Button Released), та прив'яжіть макрос ResetControls до цієї кнопки. Вийдіть із режиму розробки – і наша вікторина готова.
Обговорити на форумі
- Автор перекладу: Олександр Гец
- Модифікації перекладу від MyOOo.ru: корекція граматики