Некоторые константы модуля
const
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; {Мерцание символа}
Некоторые функции и процедуры модуля
function KeyPressed: Boolean;
Возвращает True, если на клавиатуре была нажата клавиша, и False в противном случае. Не задерживает исполнение программы.
function ReadKey: char;
Читает символ с клавиатуры без эхоповтора на экране. Приостанавливает исполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock.
function WhereX: byte;
Возвращает горизонтальную координату текущей позиции курсора.
function WhereY: byte;
Возвращает вертикальную координату текущей позиции курсора.
procedure ClrScr;
Очищает экран и помещает курсор в верхний левый угол.
procedure ClrEol;
Удаляет все символы от текущей позиции курсора до конца строки без перемещения курсора.
procedure DelLine;
Удаляет строку, на которой находится курсор, и перемещает все строки ниже этой на строку вверх.
procedure InsLine;
Вставляет пустую строку в позицию экрана
procedure GotoXY( X,Y: Byte);
Перемещает курсор в нужное место экрана.
procedure HighVideo;
Устанавливает высокую яркость символов.
procedure LowVideo;
Устанавливает низкую яркость символов.
procedure NormVideo;
Устанавливает нормальную яркость символов.
procedure TextColor(Color: Byte);
Устанавливает цвет символов. В качестве передаваемого значения могут выступать константы цветов.
procedure TextBackground(Color: Byte);
Устанавливает цвет фона.
procedure Sound(F: word);
Включает звуковой генератор. F - частота звука, Гц.
procedure NoSound;
Выключает звуковой генератор.
procedure Delay(D: word);
Приостанавливает работу программы на указанное число миллисекунд.
Примеры использования процедур и функций модуля Crt
Пример 1.
uses Crt;
begin
...
TextColor(Red); {устанавливает красный цвет}
writeln(’Ага!’);
TextColor(Red+Blink); {устанавливает мигающий красный цвет}
writeln(’Ого!’);
...
end.
Пример 2.
Задание. С помощью символов «*» построить на экране график функции , таким образом, чтобы график функции был «растянут» на весь экран. Диапазон изменения .
Решение. Размер экрана - 80 столбцов на 25 строк. Верхний левый угол экрана имеет координаты (1, 1), правый нижний - (80, 25). Шаг по х должен быть подобран таким образом, чтобы диапазон изменения «укладывался» в 80 позиций. Область значений функции у - [-1, 1], поэтому по у также должен быть подобран коэффициент «растягивающий» область значений на 25 строк.
uses Crt;
var i: integer;
x, y: real;
begin
ClrScr;
for i:=1 to 80 do
begin
x := i * 2*pi/(80-1);
y := 12 – 12*sin(x);
gotoXY(i,trunc(y));
write(’*’);
end;
repeat
until KeyPressed;
end.