Псковский государственный политехнический институт


НазваниеПсковский государственный политехнический институт
страница25/30
ТипУчебное пособие
filling-form.ru > Бланки > Учебное пособие
1   ...   22   23   24   25   26   27   28   29   30

§9.4. Модуль Crt


Формирование изображения на экране монитора происходит с помощью дисплейного адаптера (видеокарты). В зависимости от него дисплей может работать в разных текстовых и графических режимах.

Текстовый режим поддерживают все типы адаптеров. В этом режиме каждый символ кодируется одним байтом и занимает от 16х16 до 8х8 точек или пикселов, чем существенно экономится память. В зависимости от типа адаптера и включенного режима количество строк на экране и символов в строке может быть разным: от 40х25 до 120х50, но стандартным является размер экрана в 25 строк по 80 символов.

Черно-белый текстовый режим является частным случаем цветного. Для последнего совместно с кодом самого символа задается байт атрибута цвета. Каждый символ имеет цвет начертания, или цвет переднего плана и цвет фона. Кроме этого символ может мерцать. Эта информация кодируется в байте атрибута символа:





Биты







7

Бит мерцания




6

Красный

Цвет фона

5

Зеленый




4

Голубой




3

Яркость

Цвет символа

2

Красный




1

Зеленый




0

Голубой


Таким образом, цвет фона может задаваться восьмью темными тонами, а цвет символа 16-ю, и каждому из них соответствует константа со стандартным именем.
Темные цвета:

0 (Black) – черный;

1 (Blue) – синий;

2 (Green) – зеленый;

3 (Cyan) – голубой;

4 (Red) – красный;

5 (Magenta) – фиолетовый;

6 (Brown) – коричневый;

7 (LightGrau) – светло-серый.

Светлые цвета:

8 (DarkGray) – темно-серый;

9 (LightBlue) – светло-синий;

10 (LightGreen) – светло-зеленый;

11 (LightCyan) – светло-голубой;

12 (LightRed) – светло-красный;

13 (LightMagenta) – светло-фиолетовый;

14 (Yellow) – желтый;

15 (White) – белый.

Начальная координата экрана находится в левом верхнем углу, а увеличение идет по осям Х и Y аналогично записи на бумаге по позициям и строкам. То есть экран в стандартном текстовом режиме выглядит в соответствии с рис. 9.1.



Рис. 9.1. Координаты знакомест в стандартном текстовом режиме монитора

То есть увеличение Х соответствует перебору символов в одной строке слева направо, а увеличение Y – перебору строк сверху вниз.

Работа с экраном в текстовом режиме


Первоначально при запуске программы на экране остается информация от предыдущих действий, для очистки экрана используется процедура

ClrScr;

При этом курсор помещается в верхний левый угол. Операторы Write и Writeln начинают вывод информации с текущей позиции курсора. Поэтому, если управлять положением курсора, то нет необходимости несколько раз использовать оператор Writeln или заключать в апострофы строки пробелов. Для установки курсора в точку с координатами X, Y используется процедура

GoToXY (X,Y:byte);

Для того чтобы узнать, где в текущий момент находится курсор, используются функции

WhereX: byte;

WhereY: byte;

Например:

Var A,B:byte;

Begin

... ...

A:=WhereX;

B:=WhereY;

Write('Курсор находится в столбце ',А,

' и строке ',B);

... ...

Чтобы установить цвет символов и фона, соответственно используются процедуры

TextColor (Color:byte);

TextBackGround (Color:byte);

Они изменяют дальнейший выводимый цвет символов и полей знакомест.

Первоначально ОС сама устанавливает цвета, обычно черный фон и светло-серые символы, но их можно изменить этими процедурами. Если сделать фон и символы одинакового цвета, то они становятся невидимыми. Для закраски всего экрана одним цветом после установки цвета очищается экран:

TextColor (White);

TextBackGround (Blue);

ClrScr;

GoToXY (35,13);

Write ('Середина экрана');

В модуле Crt существуют и другие способы и процедуры для работы с режимами, цветами и курсором на экране.

Работа с клавиатурой


Кроме стандартных процедур Read и Readln в модуле Crt есть две процедуры, расширяющие возможности работы с клавиатурой.

Функция

ReadKey:char;

считывает один символ с клавиатуры. Его чтение не сопровождается эхо-отображением на экране, что используется в программах с меню и других, требующих постоянного управления с помощью клавиатуры. Более того, с ее помощью можно читать коды управляющих клавиш, чего нельзя сделать с помощью команды Read.

Если нажата не символьная, а управляющая клавиша, то первое считанное число – 0, а код клавиши надо ввести еще раз.

Пример: программа проверки нажатия функциональных клавиш F1-F10.

Program DemoCode;

{ Демонстрационная программа проверки нажатия

функциональных клавиш }

Uses Crt;

Const Esc=27;

F1=59;

F10=68;

Var Ch:char; { символ, вводимый с клавиатуры }

Priznak:boolean;

Begin

TextColor(Yellow); { Буквы желтые }

TextBackGround(Blue); { Фон синий }

ClrScr;

Repeat

Ch:=ReadKey;

If Ord(Ch)=0 then

Begin

Ch:=ReadKey; { второй символ }

If Ord(Ch) in [F1..F10] then

Writeln(

'Нажата функциональная клавиша F',Ord(Ch)-58)

else

Writeln(

'Нажата управляющая клавиша с кодом ',Ord(Ch))

end else

Writeln(

'Нажата символьная клавиша с кодом ', Ord(Ch));

Until Ord(Ch)=Esc;

end.

При обращении к функции

KeyPressed:boolean;

ожидания нажатия клавиши нет, она просто опрашивает буфер клавиатуры и выдает логический результат: True – если в буфере есть какой-либо символ и False – в противном случае.

Работа со звуком


В ПЭВМ есть возможность генерировать звуковые сигналы частотой от 37 Гц до 20 КГц с помощью встроенного динамика. Из программы на Паскале воспроизводятся только чистые тона без искажений. Сила, или громкость звука не регулируется.

Стандартный звуковой сигнал длительностью 0,25 сек и частотой 800 Гц вызывается символом 7 кодовой таблицы, например:

Writeln (‘Ошибка данных’,Chr(7));

Для управления частотой звука и его продолжительностью в модуле Crt предусмотрены следующие процедуры. Включение звука:

Sound(Freq:word);

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

Отмена (выключение) звука:

NoSound;

Задержка по времени:

Delay (ms:word);

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

Таким образом, стандартный звуковой сигнал – это последовательность процедур, например:

Sound (800);

Delay (250);

NoSound;

С помощью этих процедур и операторов цикла можно создавать разнообразные звуковые эффекты, например, проиграть гамму:

Program Gamma;

{ Пример проигрывания гаммы }

Uses Crt;

Const

{Частоты нот гаммы от ДО октавы 1 до ДО октавы 2}

Freq: Array[1..8] of word=(262,294,330,349,392,440,494,524);

VAR

i:integer;

Begin

Repeat

For i:=1 to 8 do Begin

Sound(Freq[i]); { Включение звука }

Delay(500);

NoSound; { Выключение звука }

end

Until KeyPressed;

end.
1   ...   22   23   24   25   26   27   28   29   30

Похожие:

Псковский государственный политехнический институт iconПравила приема в Институт ядерной энергетики (филиал) федерального...
Институт ядерной энергетики (филиал) федерального государственного бюджетного образовательного учреждения высшего профессионального...

Псковский государственный политехнический институт iconПравила приема граждан юргту (нпи), на обучение по программам подготовки...
«Южно-Российский государственный технический университет (Новочеркасский политехнический институт)»

Псковский государственный политехнический институт iconГбоу ао спо «Астраханский государственный политехнический колледж»...
Учебной части гбоу ао спо «Астраханский государственный политехнический колледж» на 2015/16 учебный год

Псковский государственный политехнический институт iconI. Общие положения
Федеральное государственное бюджетное образовательное учреждение высшего образования «Псковский государственный университет»

Псковский государственный политехнический институт iconЗаконное представительство
Составитель: Волков А. В. – старший преподаватель кафедры гражданского права и процесса, Псковский государственный университет

Псковский государственный политехнический институт iconП рограмма производственной практики
Волжский политехнический институт (филиал) волгоградского государственного технического университета”

Псковский государственный политехнический институт iconОбразец заполнения
Прошу зачислить меня слушателем в фгбоу во «Псковский государственный университет» на обучение по дополнительной общеобразовательной...

Псковский государственный политехнический институт iconПоложение о платном обучении в Государственном образовательном учреждении...
Ания «Оренбургский государственный институт менеджмента», (далее: «огим», «институт»), в соответствии с Федеральным законом «О высшем...

Псковский государственный политехнический институт iconПриема иностранных граждан в фгбоу впо «оренбургский государственный...
Ем иностранных граждан, лиц без гражданства, в том числе соотечественников за рубежом (далее иностранные граждане), поступающих фгбоу...

Псковский государственный политехнический институт iconЗаконодательное регулирование
«Южно – Российский государственный политехнический университет (нпи) имени М. И. Платова»

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск