Модуль 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.

Задачи к данной теме

Комментарии

помогите написать программу

В окне на черном фоне создайте три окна произвольного фона с надписями по центру окна: Начать тест, справка и выход. Подключить клавиши с двойным кодом для управления окнами(стрелочки), при этом нажимая на вниз ниже стоящее окно изменяет свой цвет на другой(изначально 2 окна одинакового цвета и верхнее другого цвета).

Подскажите,что не так и помогите решить в цикле Рипит)

Program eminem;
Uses crt ;
Var y:integer;
    t,x:real;
Begin
y:=1;
while(x<=4) do
t:=sqr(ln(y));
begin
x:=exp(2/3*ln(sqrt(y)))+exp(t*ln(3))-3;
writeln('y=',y,' ','x',x:5:3);
y:=y+1;
end;
End.

бро

бл, парень присмотрись

while(x<=4) do
t:=sqr(ln(y));

_____________________________
begin
x:=exp(2/3*ln(sqrt(y)))+exp(t*ln(3))-3;
writeln('y=',y,' ','x',x:5:3);
y:=y+1;
end;

компилятор думает что ты ввел уже цикл и после прочтения t:=sqr(ln(y)); он сходит с ума

скобки пересчитай

в выражении для х ))
И перед проверкой условия (х<=4) х уже должен быть чему-нибудь равен.

Графика

Посередине черного экрана строка синего цвета с бегущим справа налево вашим именем, программа прекращает работу нажатием любой клавиши. Как это сделать??

Вот так

var z:char;
begin
   z:readkey;
end.

ну наверно read()

ну наверно read()

В операторе gotoxy сначала

В операторе gotoxy сначала номер строки, а потом столбца или наоборот?

Наоборот, сначала номер

Наоборот, сначала номер позиции в строке, а потом сама строка
gotoxy (10,5);
10-е знакоместо, 5-я строка.

не в микросекундах, а в

не в микросекундах, а в милисекундах

"Стандартный экран в Паскале

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

Да на это можно и не обращать внимание!!!

Это же не ошибка в написании программы, или т.п.

readln

В программе после последнего Readln не стоит ;

readln

перед ''end'' можно не ставить '';''