Краткая теория
Создание диалога
1. Запустите OpenOffice.org Impress.
Создайте новую презентацию.
2. Сохраните презентацию в файл
C:\2kurs\lab-09-1.odp
или
/home/student/2kurs/lab-09-1.odp
3. Создание библиотек подпрограмм.
В главном меню Impress выберите пункт
Сервис/Макросы/Управление макросами/OpenOffice.org Basic...
4. В диаглоговом окне
Макросы OpenOffice.org Basic
Нажмите в правом вертикальном ряду кнопку
Управление...
Появиться диалоговое окно
Управление макросами OpenOffice.org Basic
5. В диалоговом окне
Управление макросами OpenOffice.org Basic
выберите вкладку
Библиотеки
На вкладке библиотеки из выпадающего списка под надписью
Приложение/документ
выберите созданный Вами файл презентации
lab-09-1.odp
6. В диалоговом окне
Управление макросами OpenOffice.org Basic
Нажмите в правом вертикальном ряду кнопку
Новая библиотека
Введите имя для новой библиотеки
myLibrary1
7. В диалоговом окне
Управление макросами OpenOffice.org Basic
перейдите на вкладку
Модули
В поле под надписью
Модуль
выберите созданный Вами файл презентации
lab-09-1.odp
Раскроется дерево библиотек модулей, в котором
выберите созданную Вами библиотеку
myLibrary1
Раскроется ветвь с модулями, входящими в Вашу библиотеку.
Выберите модуль
lab-09-1.odp/myLibrary1/Module1
на расположенную справа вверху кнопку
Редактировать
Откроется программа OpenOffice.org Basic - интегрированная
среда разработки, IDE.
8. Создание формы диалога.
Внизу окна
OpenOffice.org Basic
Находится ярлык
Module1
В области ярлык вызовите контекстное меню правым щелчком мыши
и в нем выберите пункт
Вставить/Диалог Basic
Откроется вкладка
Dialog1
Перейдите на вкладку
Dialog1
На этой вкладке расоположена пустая форма.
Выделение формы: шелкните по правому нижнему углу.
Выделенная форма окружена восмью зелёными квадратными
маркерами по контуру.
Вызовите контекстное меню правым щелчком мыши по выделенной
форме и задайте свойства, выбрав пункт
Свойства...
Введите для свойства Заголовок текст
Мой 1-ый диалог
Здесь можно задать следующие свойства на вкладке Общие:
Положение формы (x, y), ширину, высоту, шрифт надписей,
цвет фона, фоновый рисунок из файла.
На вкладке События можно назначить соответствующие
макросы.
9. На панели
Элементы управления
выберите
Текстовое поле
и разместите два таких элемента на форме.
Также разместите
один элемент Метка,
один элемент Кнопка.
10. Создание макроса для вызова диалога Dialog1.
Перейдите на вкладку
Module1
Запишите прорамму
Dim Dlg As Object
Sub Main
DialogLibraries.LoadLibrary("myLibrary1")
Dlg = CreateUnoDialog(DialogLibraries.myLibrary1.Dialog1)
Dlg.Execute()
End Sub
11. На пенели рисования выберите инструмент
Основные фигуры/Скругленный прямоугольник
С помощью этого инструмента нарисуйте на слайде кнопку.
Выполнив двойной клик мышкой в центре кнопки, впишите надпись Старт.
12. Вызовите контекстное меню для фигуры, в котором
выберите пункт
Действие по щелчку мыши...
Появится диалоговое окно
Действие по щелчку мыши.
Выберите в выпадающем списке предпоследний пункт
Выполнить макрос.
Внизу диалогового окна
Действие по щелчку мыши
Появится поле ввода под надписью Макрос и кнопка Обзор...
Нажмите на кнопку
Обзор
и в диалоговом окне
Выбор макроса
выберите макрос:
lab-09-1.odp/myLibrary1/Module1/Main
В диалоговом окне
Выбор макроса
нажмите на кнопку Ok.
В диалоговом окне
Действие по щелчку мыши
нажмите на кнопку Ok.
13. Создание обработчика события
Щелчок по кнопке диалога.
Перейдите в окно программы
OpenOffice.org Basic
на вкладку
Module1.
Добавьте в последнюю строку следующую подпрограмму
Sub myButton1Click
Dim a As Integer
Dim b As Integer
Dim s As Integer
myEdit1 = Dlg.getControl("TextField1")
myEdit2 = Dlg.getControl("TextField2")
a = myEdit1.Text()
b = myEdit2.Text()
s = a + b
myLabel1 = Dlg.getControl("Label1")
myLabel1.setText(a & " + " & b & " = " & s)
End Sub
14. Назначение кнопке диалога макроса обрабоки события.
Перейдите на вкладку
Dialog1.
Выделите кнопку и вызовите для нее контекстное меню,
в котором выберите пункт
Свойства...
Откроется диалоговое окно
Свойства: CommandButton,
в котором находятся две вкладки:
Общие и События
В диалоговом окне
Свойства: CommandButton
перейдите на вкладку
События.
Напротив строки
Выполнить действия
нажмите на кнопку с многоточием "...".
Откроется диалоговое окно
Назначить действие.
В диалоговом окне
Назначить действие
выберите в столбце
Событие
первую строку
Назначенное действие.
Справа в диалоговом окне
Назначить действие
под надписью
Назначить:
нажмите кнопку
Макрос...
Появится диалоговое окно
Выбор макроса.
В диалоговом окне
Выбор макроса
выберите созданный Вами в предыдущем пункте макрос:
lab-09-1.odp/myLibrary1/Module1/myButton1Click.
В диалоговом окне
Выбор макроса
нажмите на кнопку Ok.
В диалоговом окне
Назначить действие
напротив события
Назначенное событие
должна появиться надпись
myLibrary1.Module1.myButton1Click
В диалоговом окне
Назначить действие
нажмите на кнопку Ok.
В диалоговом окне
Свойства: CommandButton
Напротив события
Выполнить действие
должна появиться надпись
myLibrary1.Module1.myButton1Click (document, Basic)
15. Закройте это диалоговое окно
Свойства: CommandButton
и нажмите на панели
Элементы управления
кнопку
Вкл/выкл тестовы режим
Об отметках
Основные упражнения не отмечены никакими специальными знаками, их выполнения достаточно для удовлетворительной оценки. Дополнительные упражнения отмечены "звездочками", их выполнение необходимо для получения повышенной оценки.
"5" - в отчете выполнены все основные упражнения, дополнительно выполнены упражнения с одной и двумя "звездочками".
"4" - в отчете выполнены все основные упражнения, дополнительно выполнены упражнения с одной "звездочкой".
"3" - в отчете выполнены все основные упражнения.
Упражнения
1. Напишите программу вычислени длины гипотенузы
по двум известным катетам.
2. Вводится последовательность чисел до тех пор,
пока не будет введено два равных числа подряд
Вывести элементы последовательности
и посчитать их количество.
3. Задайте целочисленный массив с помощью генератора
псевдослучайных чисел из отрезка [a, b].
Выведите элементы массива в Label1, разделяя
их пробелами.
4.* Используя метод addItem(String, position) элемента
Список, выведите в него заданный с помощью генератора
псевдослучайных чисел целочисленный массив.
5.** Слова, вводимые по одному в поле TextField1 должны
записываться в элемент Список при каждом щелчке
по элементу Кнопка, CommandButton1. Если установлен элемент
Флажок, то после щелчка по кнопке слово должно быть стерто
из TextField1. Если установить второй элемент Флажок,
то все слова в Списке должны нумероваться.