Модуль Crt

Модуль Crt позволяет выводить цветные символы на цветном экране. Хотя по-прежнему отображение будет происходить в текстовом режиме. Текстовый режим означает, что на экране могут выводиться только определенные символы в определенных местах (знакоместах). Можно представить экран, разделенным вертикальными и горизонтальными линиями на ячейки. В эти ячейки можно «вписывать» различные символы. У каждой ячейки есть адрес.

Координаты crt

Примечание. В Ubuntu модуль Crt не работает, если программу компилировать не в домашнем каталоге.

Модуль Crt содержит ряд процедур, позволяющих задавать цвет символов и экрана, очищать экран, менять позицию курсора и др.

Стандартный экран в Паскале чаще формируется из 25 строк и 80 столбцов. Строки нумеруются сверху вниз, а столбцы слева на право. Нумерация начинается с единицы (что может показаться непривычным).

Примечание. Если программа запускается в терминале Linux, то количество строк и столбцов определяется соответственно шириной и высотой экрана терминала. В случае попытки вывести символ за границами доступной области, он выводится в верхнем левом углу.

Количество доступных цветов (для экрана и символов) всего 16. Они кодируются числами от 0 до 15. Также вместо чисел можно прописывать названия цветов.

Для того чтобы в программе можно было использовать содержимое модуля Crt, его надо импортировать (подключить) в программу. Делается это в секции, которая начинается со слова uses.

Чтобы очистить экран от всех надписей, требуется выполнить процедуру clrscr. Если перед этим был задан цвет экрана (с помощью textbackground), то экран будет залит соответствующим цветом.

Цвет текста определяется процедурой textcolor, позиция курсора – gotoxy.

Для вывода символов на экран используются стандартные процедуры write и writeln.

Также существует процедура временной задержки delay (аргумент задается в микросекундах), если требуется выводить символы не сразу, а постепенно.

uses
    crt;
 
begin
    textbackground (7);
    clrscr;
 
    textcolor (12);
    gotoxy (10,5);
    write ('Hi, world!');
 
    delay (1500);
 
    gotoxy (40,22);
    textcolor (14);
    write ('Yes');
 
readln
end.

Комментарии