Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Процедуры.

Читайте также:
  1. II. Выполнение процедуры.
  2. Конституционно-правовая ответственность в России: понятие, субъекты, меры, процедуры.
  3. Окончание процедуры.
  4. Окончание процедуры.
  5. Организация аудиторской проверки, аудиторские процедуры.
  6. Переговоры предполагают взаимный поиск компромисса конфликтующих сторон и включают возможные процедуры.
  7. Порядок выполнения процедуры.
  8. Порядок определения и заявления таможенной стоимости товаров при производстве таможенных операций и помещение товаров под таможенные процедуры.
  9. Последовательность проведения процедуры.
  10. Принципы построения обучающего эксперимента как диагностической процедуры. Формула обучаемости

 

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

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

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

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

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

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

 

Процедуры определяются командой PROC. Первая строка каждой процедуры, или заголовок, состоит из:

· ключевого слова PROC;

· необязательного ключевого слова CLOSED;

· имени процедуры;

· заключенного в скобки списка параметров, разделенных запятыми.

 

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

 

· закончится выполнение всех скриптов;

· с помощью команды RELEASE PROCS процедура будет удалена из памяти;

· закончится выполнение скрытой процедуры, внутри которой определена данная процедура;

· если данная процедура - скрытая, то по окончанию ее выпонения.

 

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

Пример на рис.6-1 определяет процедуру DelLast, предназначенную для удаления последней записи из таблицы, имя которой является параметром процедуры. Процедура возвращает число оставшихся записей.

 

PROC DelLast(tblname); // заголовок процедуры EDIT tblname; // вход в режим редактирования END; // переход к последней записи DEL; // удаление ее DO_IT!; // завершение редактирования RETURN [#]; // возврат числа оставшихся записей ENDPROC; // конец процедуры

 

Так как определения процедур занимают опетативную память, одновременно может быть определено лишь ограниченное число процедур. Существует три способа освобождения памяти, занятой процедурами:

· Можно использовать команду RELEASE PROCS для удаления процедур, определенных ранее. Команда RELEASE PROCS позволяет распределять ресурсы памяти, избирательно удаляя процедуры после их использования. С помощью команды RELEASE PROCS можно также удалять процедуры перед их повторным определением. Команду RELEASE PROCS, требующую удаления определенной процедуры, нельзя включать в тело этой процедуры.

· Если определение процедуры было прочитано из библиотеки, PAL автоматически удалит (обменяет) эту процедуру, как только потребуется память для другой процедуры или каких-либо иных целей. В большинстве случаев могут удаляться любые процедуры, даже процедура, вызвавшая текущую процедуру. Когда вновь потребуется обратиться к удаленной процедуре, то ее определение будет вновь автоматически внесено в оперативную память. PAL в последнюю очередь удаляет из оперативной памяти те процедуры, обращение к которым произошло позднее всего.

 

· Если установлены платы EMS или EEMS, процедуры, автоматически удаленные из оперативной памяти, загружаются в расширенную память. Это значительно увеличивает скорость повторной загрузки удаленных процедур. Если платы расширенной памяти отсутствуют, то удаленные процедуры считываются из библиотеки на диске.

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

 




Дата добавления: 2015-02-16; просмотров: 86 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав