ПРИМЕРЫ ПРОГРАММ
Использование функций ЯГС в программах, написанных на базе языка программирования Паскаль, показано в примерах 1-6.
В примере 1 в пакетном задании создаются примитивы вывода и запоминаются для долговременного хранения в метафайле ЯГС.
Текст, заключенный в фигурные скобки, является комментарием.
Пример 1.
{Определения и объявления опущены}
ОТКРЫТЬ ЯГС;
{станция вывода метафайла}
ОТКРЫТЬ СТАНЦИЮ (МВЫВ, ФАЙЛ-1, МВЫВ);
{Выходные данные направляются в метафайл}
АКТИВИРОВАТЬ СТАНЦИЮ (МВЫВ);
.
.
.
Прикладная программа формирует значения параметров для функций ЯГС (включая функции сегментации) и вызывает их, например, следующие:
ЛОМАНАЯ (число точек, массив координат-точек);
ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ (число точек, массив координат-точек);
ДЕАКТИВИРОВАТЬ СТАНЦИЮ (МВЫВ);
{Метафайл освобождается}
ЗАКРЫТЬ СТАНЦИЮ (МВЫВ);
ЗАКРЫТЬ ЯГС.
В примере 2 в пакетном задании считывается метафайл ЯГС и создаются выходные данные для графопостроителя.
Пример 2.
{Определения и объявления опущены}
ОТКРЫТЬ ЯГС;
{Открывается станция ввода метафайла}
ОТКРЫТЬ СТАНЦИЮ (МВВО, ФАЙЛ-1, МЯГС-ВВОДА);
{Окрывается* станция для графопостроителя}
_______________
* Текст соответствует оригиналу. - Примечание изготовителя базы данных.
ОТКРЫТЬ СТАНЦИЮ (ГП, ГПДДО, ПЛАНШЕТНЫЙ ГП);
{Выходные данные направляются на графопостроитель}
АКТИВИРОВАТЬ РАБОЧУЮ СТАНЦИЮ (ГП);
.
.
.
REPEAT
ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЯГС (МВВО, ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ);
ПРОЧИТАТЬ ЗАПИСЬ ИЗ МЯГС (МВВО, ДЛИНА МАССИВА, МАССИВ);
ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ (МВВО, ТИП ЗАПИСИ, ДЛИНА МАССИВА, МАССИВ);
UNTIL ТИП ЗАПИСИ = КОНЕЦ ФАЙЛА;
.
.
.
{Ввод данных на графопостроитель прекращается}
ДЕАКТИВИРОВАТЬ СТАНЦИЮ (ГП);
ЗАКРЫТЬ СТАНЦИЮ (ГП);
{Метафайл освобождается}
ЗАКРЫТЬ СТАНЦИЮ (МВВО);
ЗАКРЫТЬ ЯГС.
В примере 3 в интерактивном задании из памяти долговременного хранения (МЯГС) сегменты считываются и отображаются на поверхности отображения. Оператор выбирает один из сегментов, перемещает его на экране, преобразует и вставляет в создаваемую картину. Создание картины заканчивается нажатием кнопки "конец картины" и картина выводится на графопостроитель.
Сегменты могут быть, например, символами блок-схемы. Они появляются наверху, внизу или у края экрана и используются для построения блок-схемы.
Пример 3.
{Определения и объявления опущены}
ОТКРЫТЬ ЯГС;
{Открывается станция ввода-вывода для устройства отображения на ЭЛТ}
ОТКРЫТЬ СТАНЦИЮ (УОЭЛТ, УОДД, ВЕКТОРУОЭЛТ);
{Открывается станция ввода для графопостроителя}
ОТКРЫТЬ СТАНЦИЮ (ГП, ГПДД, БАРАБАННЫЙ ГП);
{Открывается станция ввода метафайла}
ОТКРЫТЬ СТАНЦИЮ (МВВО, ФАЙЛ 1, МЯГС ВВОДА);
{Открывается независимая от станции память сегментов}
ОТКРЫТЬ СТАНЦИЮ (ОПС 1, НРСПСДД, ОПС);
{Содержимое метафайла отображается на устройстве отображения на ЭЛТ}
{Если имеются сегменты, они запоминаются в общей памяти сегментов}
{Выходные данные направляются на устройство отображения на ЭЛТ}
АКТИВИРОВАТЬ СТАНЦИЮ (УОЭЛТ);
{Выходные данные направляются в общую память сегментов}
АКТИВИРОВАТЬ СТАНЦИЮ (ОПС 1);
{Считывается и интерпретируется МЯГС}
REPEAT
ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЯГС (МЯГС ВВ, ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ);
ПРОЧИТАТЬ ЗАПИСЬ ИЗ МЯГС (МЯГС ВВ ДЛИНА МАССИВА, МАССИВ);
ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ (ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ, МАССИВ);
UNTIL ТИП ЗАПИСИ = КОНЕЦ ФАЙЛА;
{Освобождается метафайл}
ЗАКРЫТЬ СТАНЦИЮ (МВВОД);
{Вывод данных в общую память сегментов прекращается}
ДЕАКТИВИРОВАТЬ СТАНЦИЮ (ОПС 1);