Средства расширенного ввода-вывода
Расширенным вводом-выводом называется набор средств, обеспечивающих операции ввода-вывода, отличные от консольных. Средства расширенного ввода-вывода находятся в модуле CRT.
В частности, расширенный ввод необходим для считывания кода символа из буфера клавиатуры без его вывода на экран, а также определения, была ли нажата какая-либо клавиша.
Для проверки наличия в буфере клавиатуры информации о нажатой клавише следует использовать функцию KeyPressed. Возвращаемое ею логическое значение «истина» указывает на наличие хотя бы одного символа, непрочитанного из буфера клавиатуры.
Считывание символа из буфера клавиатуры производится при помощи функции ReadKey, возвращающей значение типа char. Если функция вернула символ #0, то была нажата управляющая клавиша. Для определения кода управляющей клавиши необходимо вызвать эту функцию ещё раз.
Расширенный вывод подразумевает позиционирование курсора в произвольную точку окна вывода, а также использование цвета фона знакомест и самих символов.
Для указания позиции
текущего окна, в которую следует перенести курсор, следует вызвать процедуру GotoXY(X,Y). Параметры, передаваемые в процедуру, являются номером столбца и номером строки новой позиции курсора (начиная с 1).
Для управления цветом
выводимых символов и фона знакомест следует вызывать процедуры TextColor(C)
и TextBackGround(С) соответственно. Параметр C
представляет собой устанавливаемый цвет. Все символы, выводимые после указания цветов, будут иметь соответствующий цвет штриха и фона.
Десятичные и двоичные константы цветов перечислены в таблице 3. Как видно из таблицы, константа цвета имеет очевидную структуру.
Таблица 3. Цвета 16-цветной палитры
N10 | YRGB | Название | N10 | YRGB | Название | ||||||||
0 | 0000 | чёрный | 8 | 1000 | тёмно-серый | ||||||||
1 | 0001 | синий | 9 | 1001 | голубой | ||||||||
2 | 0010 | зелёный | 10 | 1010 | салатовый | ||||||||
3 | 0011 | цианистый | 11 | 1011 | бирюзовый | ||||||||
4 | 0100 | красный | 12 | 1100 | ярко-красный | ||||||||
5 | 0101 | магента | 13 | 1101 | фиолетовый | ||||||||
6 | 0110 | коричневый | 14 | 1110 | жёлтый | ||||||||
7 | 0111 | серый | 15 | 1111 | белый |