Изучение принципов алгоритмического программирования на языке Pascal



         

9. Средства расширенного ввода-вывода


Расширенным вводом-выводом называется набор средств, обеспечивающих операции ввода-вывода, отличные от консольных. Средства расширенного ввода-вывода находятся в модуле 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

белый





Содержание  Назад  Вперед