Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯЗЫК СИ_РУКОВОДСТВО ПРОГРАММИСТА.doc
Скачиваний:
12
Добавлен:
18.08.2019
Размер:
438.27 Кб
Скачать

6.2 Управление стартовыми действиями

Существует возможность при помощи определения в программе некоторых глобальных переменных управлять параметрами действий, выполняемых при старте программы:

Можно подавить разрешение ввода символов нижнего регистра перед вводом командной строки (распространяется и на дальнейшее выполнение программы). Для этого необходимо определить в программе $$nolc = 1;

Можно изменить вид приглашения для ввода командной строки, явно задав: char $$prom[]="...";

Строка подсказки завершается символом '\200' для того, чтобы при выводе подсказки (по .GTLIN) не произошел переход на новую строку. Можно запретить ввод командной строки (и печать приглашения). Для этого необходимо определить в программе

$$narg = 1;

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

7. Пакет работы с терминалом

Данный документ описывает пакет библиотечных функций,

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

Идея данного пакета - дать программисту возможность выполнять стандартным образом наиболее общий тип функций, зависящих от терминала. Пакет состоит из 3-х частей:

обновление экрана;

ввод и обновление экрана при вводе;

оптимизация движения курсора.

Можно использовать оптимизацию движения курсора без использования первых двух частей пакета. Обновление экрана и ввод можно осуществ­лять без изучения функций оптимизации движения курсора.

В данном документе поддерживается следующая терминология:

- окно (window)

Внутреннее представление, содержащее образ части экрана терминала в определенный момент времени. Это "окно" может охватывать весь экран или часть его (вплоть до одного символа);

- терминал или экран терминала

То, что в настоящее время пользователь видит на экране терминала.

- экран (screen)

Поднабор окон, которые по размерам равны экрану терминала, т.е. они начинаются в верхнем левом углу и заканчиваются в нижнем правом. Одно из них, stdscr, автоматически обеспечивается для пользователя.

Для того, чтобы использовать библиотеку, необходимо одной из первых строк программы пользователя иметь строку:

#include <curses.h>

Файл "curses.h" содержит различные необходимые определения, а также включает файл "stdio.h". При компоновке пользователь должен указать дополнительно библиотеку, содержащую описываемые функции и размещенную обычно в файле CSLIB.OBJ.

В файле curses.h:

описаны (как внешние) описатели терминала (см. "информация о терминале" и приложение 1);описан тип "WINDOW", описывающий дескриптор окна.

определены "OK" (1) и "ERR" (0) - мнемоники для кодов удачного и неудачного завершения функций пакета.

описаны (как "extern WINDOW *") curscr и stdscr

определен логический тип - "bool" (как "char")

при использовании данного пакета имена функций могут быть набраны на любом регистре, имена макросов - на нижнем. Макросы при описании помечены /* + */