Инструменты проектирования. Настройка инструментальных средств Forms
Редактор PL/SQL
В Oracle Forms для написания и редактирования любых программных единиц (триггеры, функции, процедуры и т. д.) используется редактор PL/SQL ( рис. 6.5). Редактор PL/SQL – это среда для написания, корректирования и компиляции ваших PL/SQL-программ. В отличие от многих сред разработки, где в редакторе кода отображены все программные единицы, в Oracle Forms редактор PL/SQL запускается отдельно для каждого объекта, что очень удобно, так как вам не придется искать по всей программе код нужного объекта – достаточно будет найти этот объект в навигаторе и запустить редактор. Визуально редактор состоит из рабочей области для написания вашего PL/SQL-кода и элементов пользовательского интерфейса. Для того чтобы запустить редактор PL/SQL, создайте новую форму, в объектном навигаторе перейдите в узел "Триггеры" и правым щелчком мыши вызовите всплывающее меню и выберите пункт Универсальные триггеры | WHEN-NEW-FORM-INSTANCE.
Настройка редактора
PL/SQL-редактор можно настроить по своему вкусу, используя "Окно настроек" ( рис. 6.6).
Вызовите всплывающее меню редактора ( рис. 6.7) и выберите нижний пункт "Properties" для вызова Окна свойств. В этом окне вы можете установить настройки шрифта, подсветки текста и фона. Параметры вкладки "Keyboard" позволяют переназначить горячие клавиши редактора, установить новые и переопределить старые комбинации.
Пункты "Find" и "Replace" предназначены для работы с текстом редактора аналогично инструменту "Найти и заменить PL/SQL". Выберите пункт меню "Find" для запуска одноименного окна поиска текста ( рис. 6.8).
В окне поиска вы можете задать регистр и направления поиска фразы "What". Искать фразу в тексте можно последовательно, нажимая клавишу "Find", тогда поиск будет происходить в соответствии с заданным направлением или одним нажатием на клавишу "Mark All" для подсветки сразу всех совпадений, найденных в тексте. Если вам необходимо найти и заменить какую-либо фразу в редакторе, выберите пункт "Replace" ( рис. 6.9).
Окно "Find&Replace" позволяет не только найти и заменить искомую фразу, но и управлять ходом замены совпадений. По умолчанию при нажатии кнопки "Replace All" произойдет замена всех совпадений на фразу, указанную в "Replace with". Для того чтобы произвести замену в определенном фрагменте текста, необходимо перед запуском окна "Find&Replace" выделить этот фрагмент.
Элементы управления редактором PL/SQL
На верхней горизонтальной панели редактора находятся элементы управления редактора и его содержимого:
- "Компиляция" – по нажатии этой кнопки осуществляется проверка вашего кода на наличие ошибок.
- "Возвратить" – по нажатии этой кнопки осуществляется отмена всех действий до последней компиляции или на момент открытия редактора.
- "Новый…" – кнопка для создания нового объекта. По нажатии этой кнопки предлагается создать объект на основе выбранного типа.
- "Имя" – в этом поле отображается имя PL/SQL-программы или триггера.
-
"Тип" – в этом выпадающем списке вам предлагается выбрать тип программной единицы. Существует три типа программных единиц:
- триггер;
- программа;
- код элемента меню.
- "Объект" – в этом выпадающем списке указывается уровень области действия объекта.
- "Удалить" – кнопка для удаления PL/SQL-программы.
- "Закрыть" – завершает работу с редактором PL/SQL.
- "Справка" – вызов справочной системы Oracle Forms.
Загрузка внешних PL/SQL-программ
Когда мы разрабатываем новое приложение, всегда существует вероятность того, что частично некоторые PL/SQL-программы уже выполнялись вами или же вы знаете о существовании таких программ в вашей системе. Можно, конечно, обернуть эту программу в хранимую процедуру или функцию базы данных и потом использовать ее в Forms, но бывают такие случаи, когда не следует помещать определенный код в базу по различным причинам. Для импорта текста в редактор PL/SQL нужно, находясь в редакторе, нажать комбинацию клавиш Ctrl+M или вызвать окно "Импорт" через меню Файл | Импорт ( рис. 6.10).
Компиляция программ
Если ваша PL/SQL-программа набрана и после нажатия кнопки "Компиляция" в нижней строке состояния редактора появилась фраза "компилирован успешно", значит, Oracle Forms не нашел в ней синтаксических ошибок и программа готова к выполнению. Если же в вашем коде имеется ошибка, то после нажатия кнопки "Компиляция" в редакторе появится еще одно окно "Debug" ( рис. 6.11), в котором будут отображены допущенные вами ошибки, их код и номера строк, в которых они допущены. Для того чтобы это проверить, нажмите кнопку "Компиляция" в запущенном вами редакторе. Так как любая PL/SQL-программа должна содержать хотя бы один исполняемый оператор, а наш редактор пуст, получим сообщение об ошибке и фразу "компилирован с ошибкой" в строке состояния редактора.
Редактор PL/SQL – это инструмент, который вы будете чаще всего использовать, разрабатывая приложения. Умение пользоваться редактором и знание его функциональных характеристик поможет вам оперативно работать с текстом, создавать и корректировать программы.
Найти и заменить PL/SQL
В предыдущем разделе мы рассматривали PL/SQL-редактор, в котором ознакомились с возможностями поиска и замены фрагментов кода. В этом разделе мы ознакомимся с инструментом "Найти и заменить PL/SQL" ( рис. 6.12). Особенность этого инструмента в том, что он работает не с отдельной программой, а с одним или несколькими модулями формы. Мы часто задействуем одни и те же элементы, параметры и глобальные переменные в разных триггерах, именованных блоках и модулях. Поиск и исправление ошибок в таких приложениях может занять много времени, поэтому наличие такого инструментария экономит ваши силы. Вызовите инструмент "Найти и заменить PL/SQL" через меню Программа | Найти и заменить PL/SQL.
Интерфейс окна состоит из элементов управления поиском, заменой и отображением искомой информации. Рассмотрим каждый элемент в отдельности.
- "Что найти" – это поле для ввода фразы поиска.
- "Заменить на" – это поле для ввода фразы замены.
- "Использовать выражение" – это элемент управления выражениями: если элемент включен, значит, выражения будут участвовать в поиске.
- "Учитывать регистр" – это элемент управления поведением поиска. Если элемент включен, значит, поиск будет осуществлен с учетом регистра символов.
- "Смотреть в" – в этом окне перечисляются все модули, открытые в объектном навигаторе. По умолчанию при запуске окна все модули выделены, а это означает, что все они участвуют в поиске. Для выделения конкретного модуля достаточно щелкнуть по нему левой кнопкой мыши. Чтобы выделить несколько форм, нужно повторить вышеописанное действие с нажатой клавишей Shift.
-
"Результаты" – это окно отображения результатов поиска. Найденное совпадение отображается в окне результатов в виде:Здесь говорится о том, что совпадение найдено в четвертой строке и первом символе строки триггера POST QUERY.
POST-QUERY (4/1): select min(num), max(num)….
- "Заменить" – по нажатии этой кнопки осуществляется замена элемента, выделенного в окне результатов совпадения.
- "Редактировать" – по нажатии этой кнопки открывается редактор PL/SQL выбранного в окне результата совпадения.
- "Найти все" – по нажатии этой кнопки выполняется поиск фразы "Что найти" в выбранных модулях. Найденные совпадения отображаются в окне результатов.
- "Заменить все" – по нажатии этой кнопки происходит замена всех найденных совпадений на фразу "Заменить на". Перед тем как выполнить замену, проверьте, что не ошиблись с фразой замены, т. к. операция необратима.
- "Закрыть" – завершение работы с инструментом.
- "Справка" – вызов справочной системы Oracle Forms.
-
"Выражение" – по нажатии этой кнопки появляется список выражений, подставляемых во фразу "Что найти". Вы можете самостоятельно попрактиковаться поиском, используя выражения. Чтобы выражение учитывалось в поиске, не забудьте включить "Использовать выражение" ; ниже приведен список доступных выражений:
- любой символ (.);
- символ в диапазоне ([]);
- символ не в диапазоне ([~]);
- группа (());
- или (|);
- 0 или более соответствий (*);
- 1 или более соответствий (+);
- перенос строки (\n);
- символ табуляции (\t);
- пустой символ (\b);
- пробел (\w).
Инструмент "Найти и заменить PL/SQL" поможет вам ориентироваться в вашем приложении и сэкономит время, затрачиваемое на поиск и замену нужного текста.