Студопедия — Теоретические сведения. Модуль Crt содержит функции и процедуры, полезные при выводе на экран
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Теоретические сведения. Модуль Crt содержит функции и процедуры, полезные при выводе на экран






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

Управлением курсором.

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

 

 

(1, 1)

Х

 
 

 

 


(80, 25)

 
 


У

 

Если нужно вывести текст, начиная с определенной позиции экрана, то перед выполнением инструкции вывода надо установить курсор в эту позицию. Это можно сделать с помощью процедуры GoToXY, инструкция вызова которой в общем виде выглядит так: GoToXY (34, 13);

Write (‘Turbo Pascal’);

выводят сообщение примерно в середине экрана.

Следующая процедура, ее текст приведен ниже, рисует на экране рамку. При вызове процедуры задаются координаты левого верхнего угла рамки, ширина и высота.

Procedure Frame (1: integer; t: integer; w: integer; h: integer);

{l, t – координаты верхнего левого угла, w – ширина рамки, h – высота рамки}

var

x, y: integer;

i: integer;

c1, c2, c3, c4, c5, c6: char; {символы, из которых рисуется рамка}

begin

c1: =chr (218); {символ верхнего левого угла}

{функция chr возвращает символ, номер которого указан при вызове функции}

c2: =chr (196); {символ горизонтальной линейки}

c3: =chr (191); {символ правого верхнего угла}

c4: =chr (179); {символ вертикальной линейки}

c5: =chr (192); {символ левого нижнего угла}

c6: =chr (217); {символ правого нижнего угла}

GoToXY (1, t);

write (c1);

for i: =1to w-2 do {символ верхней границы рамки}

write (c2);

write (c3);

y: =t+1;

x: =1+w-1;

for i: =1to h-2 do {символы левой и правой границ}

begin

GoToXY (1, y);

write (c4);

GoToXY (x, y);

write (c4);

y: =y+1;

end;

GoToXY (1, y);

write (c5);

for i: =1to w-2 do {символы нижней границы}

write (c2);

write (c6);

end;

Управление цветом.

Используя процедуры TextColor и TextBackGround, можно задать цвет символов и цвет фона для текста, выводимого инструкциями write и writeln. Каждый цвет кодируется целым числом, которому соответствует именованная константа.

 

Цвет Код Константа
Черный   Black
Синий   Blue
Зеленый   Green
Бирюзовый   Cyan
Красный   Red
Сиреневый   Magenta
Коричневый   Brown
Белый (светло-серый)   Light Gray
Серый   Dark Gray
Голубой   Light Blue
Светло-зеленый   Light Green
Светло-бирюзовый   Light Cyan
Светло-красный (алый)   Light Red
Светло-сиреневый   Light Magenta
Желтый   Yellow
Белый (яркий)   White

 

Процедура TextColor (цвет) устанавливает цвет символов, а процедура TextBackGround (цвет) – цвет фона выводимого теста. В качестве параметра Цвет для процедуры TextColor можно использовать код цвета или именованную константу в диапазоне от 0 до 15, а для процедуры TextBackGround – в диапазоне от 0 до 7.

Например, после выполнения инструкций

TextColor (LightGray);

TextBackGround (Blue);

Инструкции write и writeln будут выводить текст светло-серым цветом на синем фоне.

Установленные цвета символов и фона называются текущими. Инструкции вывода используют текущие цвета символов и фона до тех пор, пока они не будут изменены.

Например, следующие инструкции

TextBackGround (Blue);

TextColor (15);

write (‘1’);

TextColor (7);

Writeln (‘Вывод на экран’);

NextColor (7);

Writeln (‘Вывод на принтер’);

Выводят на экран фрагмент меню. Названия пунктов меню выводятся на синем фоне светло-серым цветом, а номера пунктов меню – ярко-белым.

Информация о текущем цвете символов и фона хранится в глобальной переменной TextAttr (атрибуты текста) типа byte. Значение переменной TextAttr можно использовать для того, чтобы перед завершением работы программа установила свои цвета. Например, следующая программа в начале своей работы сохраняет текущие установки цвета, а в конце – восстанавливает старые значения.

Program p;

Uses Crt;

Var

oldTextAttr: byte;

begin

{сохраним цвет символов и фона}

oldTextAttr: TextAttr;

{установим свои цвета}

TextBackGround (Red);

TextColor (White);

{инструкции программы}

{восстановим цвет символов и фона}

TextArrt: = oldTextAttr;

End.

Помимо использования процедур TextColor и TextBackGround для установки цвета символов и цвета фона, установить атрибуты текста можно непосредственным присвоением значения переменной TextAttr, определяемого по формуле: НомерЦветаФона*16+НомерЦветаСимволов.

Например, чтобы установить белый цвет символов на красном фоне, переменной TextAttr надо присвоить значение 79 (79=4*16+15).

В качестве значения, присваиваемого переменной TextAttr, удобно использовать двузначную шестнадцатеричную константу, старший разряд которой определяет номер цвета фона, младший – номер цвета символов. Например, синий цвет фона обозначается числом 1, желтый цвет обозначается десятичным числом 14, которому соответствует шестнадцатеричная цифра Е. Таким образом, желтый цвет на синем фоне кодируется шестнадцатеричным числом 1Е. Так как в изображении шестнадцатеричных чисел используются латинского алфавита от А до F, то для того чтобы компилятор различал шестнадцатеричные числа и имена переменных, перед шестнадцатеричным числом ставится символ $. Так, инструкция TextAttr: =$1E; задает синий фон (номер цвета 1) и желтый цвет символов (номер цвета 14 в десятичной форме, и Е – в шестнадцатеричной).

Если к сообщению надо привлечь особое внимание, то можно установить его атрибуты так, что оно будет мигать. Чтобы это сделать, надо к константе, определяющей атрибуты, прибавить 128. Следующая последовательность инструкций выводит мигающее предупреждающее сообщение.

TextAttr: =$1E+128;

Write (‘Ошибка ввода данных’);

 







Дата добавления: 2014-11-10; просмотров: 1132. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Способы тактических действий при проведении специальных операций Специальные операции проводятся с применением следующих основных тактических способов действий: охрана...

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

Этапы творческого процесса в изобразительной деятельности По мнению многих авторов, возникновение творческого начала в детской художественной практике носит такой же поэтапный характер, как и процесс творчества у мастеров искусства...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия