Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по языку ФРЛ.doc
Скачиваний:
53
Добавлен:
28.06.2014
Размер:
324.61 Кб
Скачать

8. Интерфейс с виртуальной базой объектов (вбо)

╒══════════════════════╤═════════════════════════════════════╕

│ Синтаксис │ Семантика │

╞══════════════════════╪═════════════════════════════════════╡

│ (OPEN-BASE : bn) │ Загружается ВБО bn из директории │

- 38 -

│ │ с именем bn. Результат │

│ │ - имя загруженной ВБО. Если │

│ │ ВБО с указанным именем нет в теку- │

│ │ щей директории, то она может быть │

│ │ создана. │

├──────────────────────┼─────────────────────────────────────┤

│ (CLOSE-BASE) │ Закрывает ВБО. Результат - имя │

│ │ ВБО, с которой прекращена работа. │

├──────────────────────┼─────────────────────────────────────┤

│ (FOPEN name) │ Раздел "name" ВБО объявляется от- │

│ │ крытым. Раздел, бывший ранее откры- │

│ │ тым, объявляется пассивным. │

│ │ Результат - список из "name". Если │

│ │ раздел открыть не удалось (ВБО не │

│ │ была предварительно загружена), то │

│ │ NIL. │

│ │ Если "name" опущено в обращении, │

│ │ то открывается глобальный раздел │

│ │ ВБО с именем GLB. В этом случае ре- │

│ │ зультат - NIL. │

├──────────────────────┼─────────────────────────────────────┤

│ (FCLOSE) │ Текущий открытый раздел ВБО зак- │

│ │ рывается. Активным становится ранее │

│ │ пассивный раздел. Результат - спи- │

│ │ сок, из имени закрытого раздела. │

├──────────────────────┼─────────────────────────────────────┤

│ (FLOAD{f | fnl | pn │ Указанные фреймы или процедуры │

│ | pnl) │ загружаются в оперативную память из │

│ │ текущего открытого раздела ВБО. │

│ │ Внимание!!! Если объект не найден │

│ │ в открытом разделе ВБО, производит- │

│ │ ся попытка загрузить его из гло- │

│ │ бального раздела ВБО. Результат - │

│ │ имя загруженного объекта или NIL, │

│ │ если объект в ВБО не найден. │

├──────────────────────┼─────────────────────────────────────┤

│ (FSAVE : fnl) │ Указанные фреймы помещаются в от- │

│ │ крытый раздел ВБО, после чего они │

│ │ удаляются из оперативной памяти. │

│ │ Результат - список имен сохраненных │

│ │ объектов. Если fnl опущен, то fnl=* │

│ │ FRAMES*. │

├──────────────────────┼─────────────────────────────────────┤

│ (PSAVE : pnl) │ То же, что и FSAVE, но в случае, │

│ │ когда fnl опущен, cчитается, что │

│ │ fnl=*PROCEDURES*. │

- 39 -

├──────────────────────┼─────────────────────────────────────┤

│ (FPSAVE) │ = (FSAVE) + (PSAVE) │

├──────────────────────┼─────────────────────────────────────┤

│ (MAINT kw : name1 │ Сервисная процедура взаимодейс- │

│ name2 flag) │ твия с ВБО. kw задает режим работы │

│ │ функции MAINT. kw = DIR - печать │

│ │ оглавления раздела name1 ВБО, если │

│ │ name1 опущено - печать оглавления │

│ │ всей ВБО. Если kw=DELP - MAINT уда- │

│ │ ляет раздел name1 из ВБО. При kw = │

│ │ DELO - происходит удаление объекта │

│ │ name1 из раздела name2. Если flag не│

│ │ равно NIL, то оглавление не печата- │

│ │ ется, а выдается в виде результата. │

├──────────────────────┼─────────────────────────────────────┤

│ (OGLAV : name flag) │ Печать оглавления раздела name │

│ │ ВБО, если name опущено - печать │

│ │ оглавления всей ВБО. Если flag не │

│ │ равно NIL, то оглавление не печата- │

│ │ ется, а выдается в виде результата. │

├──────────────────────┼─────────────────────────────────────┤

│ (FDESTROY f) │ Указанный фрейм затирается в опе- │

│ │ ративной памяти и удаляется из ВБО. │

│ │ Результат - имя удаленного фрейма │

├──────────────────────┼─────────────────────────────────────┤

│ (PDESTROY pn) │ Указанная процедура удаляется из │

│ │ системы. Результат имя процедуры. │

│ │ Процедура удаляется также из ВБО. │

├──────────────────────┼─────────────────────────────────────┤

│ (BASE_GC) │ Процедура уплотнения информации в │

│ │ открытом разделе ВБО. │

│ │ В процессе своей работы печатает │

│ │ об'ем ВБО в байтах до и после уп- │

│ │ лотнения. Эта процедура запускается │

│ │ автоматически каждый раз при превы- │

│ │ шении ограничителя на размер ВБО,│

│ │ устанавливаемый функцией BD_SIZE │

├──────────────────────┼─────────────────────────────────────┤

│ (BD_SIZE : n) │ Устанавливает максимальный размер │

│ │ в байтах раздела ВБО. Как только │

│ │ размер раздела ВБО превысит уста- │

│ │ новленный предел - происходит его │

│ │ уплотнение. Если n опущено - в ка- │

│ │ честве результата возвращается зна- │

│ │ чение текущего предела │

╘══════════════════════╧═════════════════════════════════════╛

- 40 -