InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте



Фабрика карт изготовление пластиковых карт www.tpkmeridian.ru.



Размещение сквозной ссылки

 

Oracle Forms 4.5


Oracle Forms 4.5


Oracle Forms 4.5 средство разработки приложений для ввода, доступа, изменения или удаления данных из БД Oracle в реальном масштабе времени. Oracle Forms 4.5 есть множество инструментов для создания эффективных приложений. Учитывая возможность расширения инструментария пользователем, с помощью Forms можно создать практически любое требуемое окружение базы данных Oracle.

В данной работе мы рассмотрим множество подходов к разработке приложений в среде Oracle Forms.

Инструментальные средства Oracle Forms 4.5


Oracle Forms 4.5 функционирует в среде графического интерфейса пользователя (GUI), например Microsoft Windows. Основные инструментальные средства, которые используются для разработки форм, это Навигатор объектов (Object Navigator), Редактор разметки (Layout Editor), и Таблицы свойств объектов (Object Properties Sheets).

Навигатор объектов (Object Navigator)


В Навигаторе объектов (рис. 1) представлены все элементы, которые объединяются для создания модуля приложения Oracle Forms. Этими элементами (или объектами) можно манипулировать при помощи кнопок и пунктов меню. Внутри Навигатора объектов компоненты приложения представлены разработчику в иерархическом виде, показывающем организацию элементов формы. Каждые группы элементов описаны в следующих подразделах.

Рисунок 1. Навигатор Объектов.

Триггеры (Triggers)


Триггеры (рис. 1) это функции PL/SQL, которые будут выполнены при возникновении какого-либо специфического действия или условия в форме. Эти действия называются событиями. В то время как многие из событий вызывают функции, возвращающие значение по умолчанию, триггер может быть написан для отключения, модификации, или расширения значения по умолчанию, которое возвращается функцией в зависимости от того, или иного события. Триггеры могут быть определены для формы, блока, записи, или для каждого поля в отдельности. Триггер может вызвать другой триггер.

Рисунок 2. Триггер.

Предупреждения (Alerts)


Предупреждения используются для того, чтобы выводить на экран дополнительную информацию, или сообщения, которые требуют от пользователя ответа, или подтверждения. Предупреждение может содержать от одной до трех кнопок, которые могут быть нажаты для определения действия, которое пользователь хочет выполнить в зависимости от условий. Свойства предупреждения определяются следующим образом (рис. 3):

Рисунок 3. Параметры предупреждения.

Библиотеки (Attached Libraries)


Библиотеки это специальные модули Oracle Forms, в которых могут содержаться многократно используемые процедуры и функции.

Блоки (Blocks)


Блок в форме (рис. 4) соответствует индивидуальному объекту (таблице, виду, или кадру) в базе данных. Блоки могут быть созданы и не относиться ни к одной таблице. Такие блоки обычно используются для временного содержания обобщенной информации, типа критериев запроса, счетчиков, условных индикаторов и прочей информации, которая может относиться к нескольким записям, или действиям. Блоки, которые непосредственно относятся к объекту, называются основными блоками таблицы.

Рисунок 4. Блок.

Элементы блоков (Items)


Элементы (рис. 5) сгруппированы в Навигаторе объектов внутри соответствующих блоков. Элемент соответствует одиночному значению данных или полю. Элементы могут содержать столбцы базы данных, или использоваться в качестве контейнера для других связанных данных.

Рисунок 5. Элементы блоков.

Связи блоков (Relationships)


Связи определены согласно тому, как отдельные блоки взаимодействуют друг с другом. (продолжение следует)

Раскладки объектов (Canvas-Views)


Раскладка объектов (canvas, от англ. холст ) структура, предназначенная для размещения объектов формы (рис. 6). Существует 4 типа раскладок содержательный (content), стековый (stacked), горизонтальная и вертикальная панель инструментов (Horizontal/Vertical Toolbar Canvas-Views). В большинстве случаев используется один из двух типов раскладок либо содержательный, либо стековый.

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

Стековую же раскладку можно размещать поверх других раскладок окна формы.

Горизонтальная и вертикальная панель инструментов набор кнопок-иконок с определенными для них пользовательскими командами.

Есть еще один специальный тип раскладки пустой (null). Пустая раскладка используется для размещения объектов не требующих отображения в окне формы.

Рисунок 6. Раскладка объектов.

Редактор (Editor)


Редактор это окно для просмотра и изменения объемных полей данных. В таких полях могут содержаться комментарии пользователя, рецепты, справки и т.п., которые не вмещаются в поле отведенное для отображения элемента.

Списки значений (LOVs)


Списки значений (LOVs - lists of values) предназначены для выбора возможных значений некоторого поля. Списки значений представляют данные, содержащиеся в именованном объекте. Список значений может использоваться и как проверка правильности ввода данных пользователем.

Группы объектов (Object Groups)


Группы объектов это специальный механизм упаковки различных объектов формы в так называемый контейнер, который может потом использоваться при создании других форм (важно, что при этом теперь требуется внесения минимума изменений). После создания группы объектов как элемента формы, любой из прочих объектов формы может быть скопирован в группу объектов.

Данная возможность Forms собой представляет один из элементов объектно-ориентированного подхода, который значительно повышает качество разработки, т.к. позволяет использовать уже созданные части при разработке нового продукта.

Параметры (Parameters)


Параметры можно определить для обеспечения начального ввода данных в форму. Обычно, параметры используются для передачи значений из одной формы в другую форму (в приложениях со многими формами). В ранних версиях Developer/2000 единственным методом передачи значений между формами было использование глобальных переменных, которые очень не эффективно использовали доступную память. Использование глобальных переменных возможно и сейчас, но рекомендуется использовать параметры в случаях, когда структура передаваемых данных специфична для конкретных форм (не носит универсальных характер для всех форм приложения).

Программные модули (Program Units)


Программные модули это PL/SQL процедуры и функции. Которые можно вызывать из триггеров формы. Программный модуль понятие полностью эквивалентное понятию подпрограммы в языках 3го поколения. Типичным кандидатом для определения программного модуля является фрагмент программного кода, который используется более, чем в одном триггере. Программные модули также могут использоваться для разбиения больших программ на логически независимые части.

Классы свойства (Property Classes)


Класс свойства определяет свойства класса объектов. В случаях, когда множество объектов формы имеют идентичные свойства, класс свойства хороши тем, что гарантируют разработчику непротиворечивость объектов. Классы свойства позволяют увеличить степень стандартизации модуля формы, что сокращает общее время разработки.

Группы записей (Record Groups)


О группе записей можно думать, как о виртуальной таблице в памяти. Группы записей - это структурированные наборы данных, которые могут использоваться для передачи данных между модулями прикладных программ, или для заполнения списков значений или других элементов списка.

Визуальные атрибуты (Visual Attributes)


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

Окна (Windows)


Окно - это рамка, в пределах которой форма появляется на экране пользователя. Каждый холст привязан к определенному окну в форме, и несколько холстов могут быть привязаны к одному окну. Простая форма может содержать несколько окон, или может состоять из одного окна.

Таблицы свойств объектов


Характеристики каждого элемента в форме определены ее различными свойствами. Контекстно-зависимая таблица свойств существует для каждого компонента, основанного на типе объекта, который мы определяем. Эти свойства сгруппированы логически в пределах таблицы свойств, и каждый тип объекта имеет различное окно свойств. Некоторые из наиболее важных свойств будут рассмотрены ниже.

Полоса прокрутки в правой стороне окна используется для передвижения через таблицу свойств, а иконки наверху используются для управления действиями в таблице.

Первые две кнопки используются для копирования и вставки свойств между таблицей свойств и буфером обмена. Следующие две кнопки используются для добавления и удаления свойств в таблице свойств.

Кнопка Inherit наследует выбранное свойство от класса свойства объекта.

Редактор разметки


Настройка инструментальных средств Forms


Oracle Forms 4.5 позволяет разработчику изменять настройки инструментальных средств с помощью элемента меню Tools|Options (рис. 3).

Рисунок 3. Окно настроек Oracle Forms.

Пять установок назначают режим работы Oracle Forms Designer:

Save Before Generate автоматическое сохранение текущего модуля перед каждым генерированием формы

Generate Before Run генерирование (компиляция) формы перед запуском ее из Oracle Forms.

Supress Hints По умолчанию Oracle Forms выдает подсказку в нижнем левом углу в зависимости от контекста. Данные подсказки можно отключить установкой этой галочки.

Run Modules Asynchronously определяет возможность одновременной работы в среде Forms Designer и запущенных приложениях.

Use System Editor использование текстового редактора операционной системы (например, Vi или Notepad) вместо встроенного редактора Forms.

Color Palette определяет цветовую палитру, которая будет использоваться при отображении запущенной формы.

Mode определяет режим использования цветовой палитры.

Module Access определяет режим доступа к файлам форм, библиотек и меню в базе данных и файловой системе.

Printer установка принтера для печати из Forms Designer.

Рисунок 4. Установка параметров запуска приложений Oracle Forms.

Вторая закладка (рис. 4) диалогового окна используется для установки параметров запуска форм из Oracle Forms Designer. Первый параметры Buffer Records устанавливает размер буфера в памяти, равный минимальному числу записей (число отображаемых записей + 3). Все остальные записи будут храниться во временном файле. Следующий параметр Debug Mode включает режим отладки. Данный режим позволяет разработчику устанавливать точки прерывания в программных сегментах PL/SQL с целью просмотра значений элементов форм и последовательности выполнения программного кода.

Следующие четыре параметра связаны с настройкой производительности Oracle Forms. Обработка массивов (Array processing ) позволяет форме вводить множество строк выборки из БД вместо одной. Обычно это повышает производительность, однако, множественная выборка требует больше памяти для работы формы. Для поддержки совместимости с предыдущими версиями, Oracle Forms позволяет разработчику использовать в формах триггеры, написаные для второй версии. Оптимизированная обработка SQL-запросов (The Optimize SQL Processing ) позволяет использовать новые возможности PL/SQL. Оптимизация режима транзакций (Transaction Mode Optimization) включает оптимизацию использования курсоров для неявных SQL-запросов (например, вызовы и исполнение триггеров) - возможно использование одних и тех же курсоров в различных функциях формы. Параметр статистика (Statistics) позволяет генерировать статистику использования курсоров и прочих ресурсов при запуске формы. Еще одно свойство данного параметра - трассировка SQL-запросов, которую можно проанализировать спомощью TKPROF или иной утилиты анализа производительности.

Следующий параметр - отображение меню блока (вместо собственно меню формы) при запуске формы. Это меню позволяет разработчику обращаться напрямую к определенному блоку формы вместо запуска блока по-умолчанию.

Режим исключительного выполнения запросов (Query-only mode) запрещает форме SQL-запросы на вставку, удаление и обновление.

Наконец, режим Тихо (Quiet) выключает звуковые сигналы, проигрываемые при выдаче формой сообщения.

Создание модулей Forms


Для создания формы можно воспользоваться меню File | New | Form или горячей клавишей <Ctrl+Y>. Новая форма появится в Навигаторе Объектов. При каждом запуске Oracle Forms Designer автоматически создается новая пустая форма. Программные модули и модули меню можно создать с помощью клавиш <Ctrl+I> и <Ctrl+E> соответственно. Модули сохраняются автоматически при запуске или с помощью меню File | Save...

Настройка формы по умолчанию


Oracle Forms позволяет быстро создавать простые формы с помощью разумных настроек по умолчанию. В качестве примера, давайте рассмотрим построение формы "Продукты" (рис. 5), которая была создана за пару минут и для которой не потребовалось писать ни одной строки программного кода.

Рисунок 5. Форма "Продукты".

Для создания данной формы сначала необхобимо создать пустую форму в Навигаторе Объектов (нужно установить соединение с базой данных Пансион, введя имя пользователя и пароль) и выбрать двойным щелчком мыши элемент Blocks в созданной форме. Появится диалоговое окно (рис. 6). Форма будет создана на основе таблицы ПРОДУКТЫ, выбрать таблицу (Base Table) из списка можно с помощью кнопки Select, после нажатия которой будет выдан список таблиц базы данных текущего соединения. Далее необходимо ввести название блока (по умолчанию оно совпадает с названием таблицы). Ниже поле Canvas (холст), напишем сюда CANVAS_ПРОДУКТЫ.

Рисунок 6. Диалоговое окно создания нового блока формы.

Теперь нажмем на закладку Items (элементы) для определения элементов формы (рис. 7). Для получения списка полей таблицы нажмем кнопку Select Columns. Символ "+" предваряющий название поля в появившемся списке означает, что поле будет отображено в форме (по умолчанию все поля таблицы будут включены в форму, исключить конкретное поле можно с помощью галочки Include или двойным нажатием мыши на соответствующем поле в списке). Параметр Label (метка) по умолчанию соответствует названию поля таблицы, его можно изменить. Параметр Width (ширина) - ширина поля формы, в пикселях.

Рисунок 7. Диалоговое окно определения элементов формы.

Теперь нажмем на закладку Layout (раскладка), где определяется расположение элементов формы (рис. 8). Наша форма будет состоять из множества строк, каждое поле будет находиться правее предыдущего (Style: Tabular), строки будут располагаться вертикально (Orientation: Vertical), количество одновременно отображаемых строк (Records) равно 5, расстояние между строками минимальное (Spacing: 0).

Правее находятся дополнительные параметры:

  • Integrity Constrains - включает поддержку формой установленных для базовой таблицы ограничений целостности
  • Button Palette - включение в форму набора кнопок с действиями по умолчанию.
  • Scrollbar - включение в форму полосы прокрутки.

    Рисунок 8. Диалоговое окно установок раскладки формы.

    Теперь можно нажать кнопку OK для завершения создания формы. Чтобы посмотреть что у нас получилось, нажмем кнопку Run (или элемент меню File | Run). После того как форма будет скомпилирована и запущена, она появится с незаполненными полями данных, для заполнения их значениями из таблицы Продукты нажмем кнопку Query или элемент меню Query | Execute (рис. 5). Теперь можно исправлять данные в таблице через форму и сохранять их кнопкой Save или с помощью элемента меню Action | Save, вводить новые строки в таблицу - меню Query | Enter и т.д. После завершения работы с формой нужно воспользоваться элементом меню Action | Exit и форма закроется.

    Использование форматированного текста и графики в формах


    Изменение параметров формы

    Создание триггеров и программных модулей

    Реализация триггеров и программных модулей в приложениях Oracle Forms может быть осуществлена посредством разработки PL/SQL процедур и и функций, называемых триггерами. Триггеры вызываются по определенному событию, вызванному формой. События делятся на 3 типа:

    1. до выполнения каких-либо действий с базой данных (PRE-FORM, PRE-QUERY, PREINSERT)

    2. после (POST-FORM, POST-QUERY, POST-INSERT)

    2. ив течение (WHEN-NEW-FORM-INSTANCE, WHEN-BUTTON-PRESSED) .

    Триггеры могут также вызываться по ключу (эта возможность сохранена для обратной совместимости с текстовыми приложениями). но не рекомендуется использовать такие вызовы.

    В форме, показанной на рисунке 13 используется вызов триггера типа PRE-INSERT для определения ???уникального идентификтора заказчика, который определяется с помощью генератора последовательности.

    Также триггеры определяются для кнопок формы. Для создания формы, показанной на рисунке 13 сделаем блок для таблицы ???ЗАКАЗЧИКИ используя стиль раскладки блока. Расположив элементы формы в указанном на рисунке порядке создадим панель из трех кнопок (кнопкам будет присвоено имя PUSH_BUTTONx)

    ...

    Использование групп записей и списков значений для проверки данных

    Использование связей для объединения блоков формы

    События от мыши, таймеров и работа с предупреждениями

    Работа с мышью

    Работа с предупреждениями

    Использование таймеров для управления событиями

    Принципы создания приложений с множеством форм

    Приемы создания динамических приложений

    Работа с меню

    Библиотеки, классы объектов и визуальные атрибуты

    Резюме


    Реклама на InfoCity

    Яндекс цитирования



    Финансы: форекс для тебя








    1999-2009 © InfoCity.kiev.ua