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

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

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






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

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

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

 

 

(1, 1)

Х

 
 

 

 


(80, 25) рис. 9

 
 


У

 

Если нужно вывести текст, начиная с определенной позиции экрана, то перед выполнением инструкции вывода надо установить курсор в эту позицию. Это можно сделать с помощью процедуры 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 (l, t);

write (c1);

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

write (c2);

write (c3);

y: =t+1;

x: =l+w-1;

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

begin

GoToXY (l, y);

write (c4);

GoToXY (x, y);

write (c4);

y: =y+1;

end;

GoToXY (l, 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; просмотров: 675. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Опухоли яичников в детском и подростковом возрасте Опухоли яичников занимают первое место в структуре опухолей половой системы у девочек и встречаются в возрасте 10 – 16 лет и в период полового созревания...

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

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