Во многих случаях стандартные для Turbo Pascal возможности ввода/вывода данных с помощью стандартных процедур оказывается недостаточными для разработки удобных в использовании диалоговых программ. В библиотеке (модуле) CRT, предусмотрены несколько подпрограмм, существенно увеличивающих возможности текстового ввода/вывода.
| Оператор | Модуль | Назначение | Пример |
| WINDOW | CRT | Процедура. Установить границы текстового окна, относительно левого верхнего угла экрана. Форма записи: WINDOW(X1,Y1,X2,Y2)X1, Y1 координаты левого верхнего угла; X2, Y2 координаты правого нижнего угла. |
WINDOW(1,1,10,5); |
| CLRSCR | CRT | Процедура. Очистить экран или текущее текстовое окно, помещая курсор в левый верхний угол (координаты 1,1) и закрасить текущим цветом фона. |
CLRSCR; |
| CLREOL | CRT | Процедура. Стирает все символы до конца строки, начиная с позиции курсора. |
CLREOL; |
| INSLINE | CRT | Процедура. Вставить пустую строку, все нижестоящие строки перемещаются на одну позицию вниз. |
INSLINE; |
| DELLINE | CRT | Процедура. Стереть строку, на которой находится курсор, все нижестоящие строки перемещаются на одну позицию вверх. |
DELLINE; |
| TEXTCOLOR | CRT | Процедура. Установить цвет выводимых символов. Форма записи: TEXTCOLOR(COLOR)COLOR цвет выводимых символов (диапазон 0 15). |
TEXTCOLOR(1); |
| TEXTBACKGROUND | CRT | Процедура. Установить цвет фона выводимых символов. Форма записи: TEXTBACKGROUND(COLOR)COLOR цвет фона (диапазон 0 7). |
TEXTBACKGROUND(3); |
| GOTOXY | CRT | Процедура. Установить позицию курсора, относительно левого верхнего угла активного текстового окна. Форма записи: GOTOXY(X,Y)X, Y координаты. |
GOTOXY(2,4); |
| WHEREX | CRT | Функция целого типа. Узнать позицию курсора по X. |
X:=WHEREX; |
| WHEREY | CRT | Функция целого типа. Узнать позицию курсора по Y. |
Y:=WHEREY; |
| KEYPRESSED | CRT | Функция логического типа. Возвращает значение типа BOOLEAN, указывающее состояние буфера клавиатуры: FALSE означает, что буфер пуст, а TRUE что в буфере есть хотя бы один символ, ещё не прочитанный программой. |
REPEAT
WRITE('SLOVO')
UNTIL KEYPRESSED; |
| READKEY | CRT | Функция символьного типа, возвращает значение типа CHAR. Останавливает выполнение программы до нажатия любой клавиши и возвращает её код. |
A:=READKEY; |
| DELAY | CRT | Процедура. Установить задержку работы программы на заданный интервал времени. Форма записи: DELAY(I)I выражение типа WORD, определяющее интервал времени. |
DELAY(500); |
| SOUND | CRT | Процедура. Выдать звук заданной частоты. Форма записи: SOUND(I)I выражение типа WORD, частота звука в герцах. |
SOUND(1500); |
| NOSOUND | CRT | Процедура. Выключить звук. |
NOSOUND; |
Program CRT_Demo;
Uses CRT;
Var
I : Integer;
BEGIN
Window(1,1,80,25);
TextBackGround(1);
ClrScr;
For I:=1 To 10 Do
Begin
Window(40-I,12,40+I,14);
TextBackGround(7);
ClrScr;
Delay(1000);
End;
TextColor(0);
GotoXY(7,2);
Writeln('Модуль CRT');
Window(1,1,80,25);
GotoXY(23,24);
TextColor(15);
TextBackGround(0);
Write('Для продолжения нажмите любую клавишу.');
ReadKey;
END.
В место кода можно использовать названия цветов, и исходя из этого операторы TextColor(15) и TextColor(White) аналогичны по своему действию.Black = 0 (Чёрный) Blue = 1 (Тёмно-синий) Green = 2 (Тёмно-зелёный) Cyan = 3 (Бирюзовый) Red = 4 (Красный) Magenta = 5 (Фиолетовый) Brown = 6 (Коричневый) LightGray = 7 (Светло-серый) DarkGray = 8 (Тёмно-серый) LightBlue = 9 (Синий) LightGreen = 10 (Светло-зелёный) LightCyan = 11 (Светло-бирюзовый) LightRed = 12 (Розовый) LightMagenta = 13 (Малиновый) Yellow = 14 (Жёлтый) White = 15 (Белый) Blink = 128 (Мерцание символа)
Максимальное количество столбцов 80, а строк 25. При превышении координат им присваивается, как правило, значение 1.