Страница 4 из 56
ют цветом текста, следующие три определяют цвет фона, а самый
старший бит является признаком мигания.
После установки дальнейший текст будет выводиться в соот-
ветствии с текущими атрибутами. С помощью функций управления ат-
рибутами вы можете устанавливать цвет символа и цвет фона раз-
дельно (textcolor и textbackground) или одновременно вызовом
textattr с заданной комбинацией цветов. Также может быть указан
признак мигания символа. Большинство цветных мониторов в цветовых
режимах правильно передают цвета. Нецветные мониторы могут пере-
водить цветное изображение в нецветное или создавать различные
визуальные эффекты: жирный шрифт, подчеркивание, инверсное отоб-
ражение и т.д.
Вы можете поменять изображение высокой интенсивности на низ-
кую вызовом lowvideo (выключает бит высокой интенсивности для
символов) или, наоборот, поменять изображение низкой интенсивнос-
ти на высокую вызовом highvideo (включает бит высокой интенсив-
ности). Оперируя интенсивностью символа, вы можете вернуться к
исходному уровню с помощью normvideo.
- 27,28 -
Запрос состояния
----------------
Здесь приводится краткий перечень функций запроса состояния
============================================================
gettextinfo заполняет структуру text_info информацией о
текущем текстовом окне
wherex сообщает x координату ячейки с курсором
wherey сообщает y координату ячейки с курсором
============================================================
Среди функций Турбо Си для ввода/вывода с консоли имеется
несколько функций для "запроса состояния". С помощью этих функций
вы можете скорректировать информацию о текстовом окне и положении
курсора в нем.
Функция gettextinfo записывает в структуру text_info (опре-
деленную в conio.h) информацию о текстовом окне, а именно:
- текущий видеорежим;
- положение окна в абсолютных координатах экрана;
- размеры окна;
- текущие цвета текста и фона;
- текущую позицию курсора.
Иногда бывает необходимой лишь часть этой информации. Так,
вместо корректировки всей информации о текстовом окне, вы можете
просто узнать положение курсора (относительно окна) при помощи
wherex и wherey.
- 29,30 -
Текстовые окна
-----------------------------------------------------------------
По умолчанию текстовое окно занимает весь экран. Вы можете
изменить его, сократив вызовом функции window. Текстовые окна мо-
гут включать до 25 строк (максимальное количество строк экрана
для всех текстовых режимов) и до 40 или 80 колонок (в зависимости
от установленного текстового режима).
Отсчет координат текстового окна Турбо Си ведется от верхне-
го левого угла. Координаты текстового окна в левом верхнем углу -
(1,1); координаты правого нижнего угла (при 80-символьном полно-
экранном текстовом окне) - (80,25).
Пример
------
Предположим ваша 100% совместимая с IBM PC система установ-
лена в 80-колоночный текстовый режим и вы захотели создать окно с
верхним левым углом (10,8) и нижним правым углом (50,21). Для
этого необходимо вызвать функцию window :
window(10, 8, 50, 21);
.
Следующая таблица представляет список этих символических
констант и соответствующих им числовых значений. Запомните, что
только первые восемь цветов доступны для выбора фона
(background), в то время как все 16 доступны для выбора цвета
символов (foreground).
-----------------------------------------------------------------
Символическая Численное Цвет символа Соответствующий
константа значение или цвет фона? цвет
-----------------------------------------------------------------
BLACK 0 обоих ЧЕРНЫЙ
BLUE 1 обоих СИНИЙ
GREEN 2 обоих ЗЕЛЕНЫЙ
CYAN 3 обоих ГОЛУБОЙ