Баксараев Андрей

 

Oracle FORMS 6i

Вводный курс

 

1.    Исполняемые компоненты

 

*   ifrun60.exe        -  Выполняет форму  в итерактивном или пакетном режиме RunForm

*   ifbld60.exe        -  Вызывает Дизайнер разработчика Форм

 

2.    Каталоги Forms 6i

 

     ..ORAWIN95\BIN                - Каталог исполняемых компонентов Forms 6i в Windows 9x

                                                       или ..ORANT/BIN для WIN NT/2000

 

     ..ORAWIN95\FORMS60     - Каталог вспомогательных компонентов Forms 6i ресурсных файлов и т.п.

                                                      \SQL    - Командные файлы SQL структур хранения форм в БД  и таблиц примеров.

3.    Файл AutoExec.Bat

 

        Содержит путь к каталогу исполняемых компонентов

 

4.    Регистратор Regedit

 

  Содержит параметры настройки Forms 6i

  Папка  HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

         Параметры:

                                NLS_LANG                        - AMERICAN_AMERICA.CL8MSWIN1251  

                                ORACLE_HOME               - Путь к каталогу Orawin95

                                ORACLE_PATH                - Путь к каталогам Исполняемых компонентов

                                FORMS60                           - Путь к ресурсным файлам  Forms 6i

                                FORMS60_PATH               - Путь к пользовательским формам ,

                                                                          библиотекам , референсным объектам…

                                ORAPLSQLLOADPATH   - Путь к пользовательским библиотекам           

                                UI_ICON                             - Путь к пользовательским файлам иконок        

 

    

     Важно!  Общая длина параметра не должна превышать 255 символов : в этом случае  параметр считается отсутствующим для Forms

 

 

5.    Форматы файлов Forms 6i

 

    *.FMB   -  Файл формы построенного в Forms Builder

    *.FMX   -  Файл формы  сгенерированного для выполнения в RunForms

    *.PLL    -  Файл пользовательской библиотеки

    *.PLX    -  Файл сгенерированной пользовательской библиотеки для

                        использования в сессии RunForm

    *.MMB  -  Файл пользовательского меню построенного в Forms Builder

    *.MMX  -  Файл меню сгенерированного для выполнения в сеансе RunForm

6.    Принципы построения формы в Forms 6i

 

*   Структура формы

 

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

 

Форма отслеживает события, поступающие из рабочей среды такие как:

*   активизация / деактивизация формы

*   аппаратные события (от клавиатуры , мыши ,таймера…)

*   и т.п.

 

Перехватить эти события и обработать их по своему алгоритму можно при помощи объявления соответствующих триггеров.

       

Взаимосвязь формы с таблицами БД Oracle осуществляется с помощью базовых блоков , которые поддерживают функции редактирования, добавления и удаления записей в таблицах БД . Один блок связан содной таблицей или представлением…

 

Форма отслеживает события поисходящие в блоке такие как:

*   активизация / деактивизация блока

*   добавление / удаление / корректировка записи в блоке

*   выполнение запроса

*   сохранение изменений

*   и т.п.

       

Для обработки событий на уровне блока необходимо объявить соответствующие триггеры с Вашим текстом обработчика события.

Иначе событие будет обработано стандартным образом…

       

Триггеры на уровне элемента , блока  или  формы  оформляются в виде PL SQL блоков , программных единиц (процедур , функций , пакетов)

Если программные единицы повторяются в нескольких формах , то имеет смысл вынести их в пользовательские библиотеки…

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

На канвах кроме блоков можно разместить статический текст, рисунки   графические объекты и т.п.

 

 

 

 

При запуске формы на выполнение в сеансе RunForm в первую очередь происходит соединение с базой данных :  создается так называемая сессия.

Номер сессии  доступен  любой форме сеанса RunForm , в процедурах  и триггерах БД

 

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

Глобальные переменные после объявления их в одной из форм  становятся доступными всем формам и живут до окончания сессии RunForm или до ее уничтожения.

Объявить глобальную переменную можно в любом месте любого PL SQL блока:

 

  :global.my_global:=’USER1’;

  :global.other_gl:=’Форма’;

 

Форме доступны системные переменные в которых хранится состояние текущей сессии :

 

      :system.form_status         - состояние формы    

      :system.current_block    -  имя текущего блока

      :system.message_level  -  уровень скрытия сообщений Формы  и т.д.


 

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

 

 

 

 

Окно сессии RunForm является корневым окном Вашего приложения и содержит в себе окна всех открытых форм . Окно сессии RunForm имеет имя  FORMS_MDI_WINDOW и если есть необходимость программно изменить его характеристики , например максимизировать его, то примените стандартную процедуру изменения свойств окна :

 

Set_Window_Property(FORMS_MDI_WINDOW,WINDOW_STATE,MAXIMIZE);

 

Для изменения заголовка окна сессии RunForm:

 

Set_Window_Property(FORMS_MDI_WINDOW,TITLE,’Ведение состава отделов’);

 


6.    Использование Forms Builder для построения форм, меню и библиотек

 

*   Основные компоненты Forms Builder

*   Навигатор объектов

               позволяет Вам оперативно  перемещаться между :

                   формами

                   меню

                   библиотеками

                   и т.д.

              создавать,копировать,редактировать одновременно  несколько форм , меню и их компонентов

 

*   Окно свойств объектов

отображает перечень свойств и их значений присущих запрашиваемому объекту

 

*   Меню

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

запустить на выполнение форму, сгенерировать Ваше меню …

 

 

*   Редактор Канвы

     

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

   Толщина и стиль линий графических объектов изменяется  через меню Format ; 

    Расположение объектов канвы выравнивается через меню Arrange;

 

 

*   Редактор PL SQL

 

 

С помощью редактора PL SQL Вы можете создать тело процедуры , функции   или обработчика события в триггере…

 

В этом примере создан обработчик события  PRE-FORM : перед запуском формы  максимизировать RunTime окно и заменить его  титул.

*   Редактор меню

 

 

С помощью редактора меню Вы можете построить модуль меню с необходимой иерархией.

Cохраните его в виде файла меню *.MMB и сгенерируйте  в RunTime *.MMX - файл , который  можно подключать к форме…