Здавалка
Главная | Обратная связь

Текстовий режим відображення.



В персональних комп’ютерах за візуальне відображення інформації відповідає дисплей – який складається з двох основних частин: монітора, на якому відображається інформація, та відеоадаптера, блока керування дисплеєм, що зазвичай знаходиться в корпусі комп’ютера і виконує зв’язок між комп’ютером та монітором.

Перші відеоадаптери для персональних комп’ютерів дозволяли відображати тільки текстову інформацію, тобто підтримувати тільки текстові режими відображення. Під текстовим режимом розуміють такий режим, при якому вся інформація на дисплеї представляється у вигляді фіксованої кількості рядків та стовпчиків символів. Наприклад найпопулярніший, свого часу, третій відео режим – це режим, коли екран розбивається на 25 рядків по 80 символів в рядку, причому кожен символ на екрані може відображатися певним кольором на певному кольоровому фоні.

В бібліотеці Crtописано ряд корисних функцій та процедур для роботи з текстовим режимом:

· TextMode(mode:word) –процедура, для завдання одного з текстових режимів. Параметр mode може приймати значення, однієї з визначених в бібліотеці Crt констант:

Const

BW40 = 0; {чорно-білий 40х25}

Co40 = 1; {кольоровий 40х25}

BW80 = 2; {чорно-білий 80х25}

Co80 = 3; {кольоровий 80х25}

Font8x8 = 256; {80х50 або 80х43 в залежності від

відеоадаптера}

· TextColor(color: byte) –процедура, яка визначає колір символів, що виводяться. Параметр colorможе приймати одне з значень:

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; {Білий}

· TextBackGround(color: byte) –процедура, яка визначає колір фону. Параметр colorможе приймати одне з значень:

Const

Black =0; {Чорний}

Blue =1; {Синій}

Green =2; {Зелений}

Cyan =3; {Синьо-зелений}

Red =4; {Червоний}

Magenta =5; {Фіолетовий}

Brown =6; {Коричньовий}

LightGray =7; {Сірий}

Для того, щоб вивести текст певним кольором, на певному фоні, необхідно за допомогою процедур TextColorта TextBackGroundвстановити необхідні атрибути, а потім за допомогою процедур Write та Writeln вивести необхідну текстову інформацію.

Для того ж щоб задавати положення тексту на екрані використовується курсор. Як правило, це блимаючий службовий елемент відеодисплею в текстовому режимі, який вказує місцеположення для виводу наступного символу.

· GotoXY(x, y : byte) –процедура яка встановлює курсор в задані координати x та y.

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

ProgramName_92;

UsesCrt;

Begin

GotoXY(10,4); {встановлюємо курсор в точку (10, 4)}

TextColor(White); {колір тексту - білий}

TextBackGround(Red); {колір фону - червоний}

Write(”Увага!!!”);

End.

· WhereX –функція, яка повертає поточну горизонтальну координату курсора.

· WhereY –функція, яка повертає поточну вертикальну координату курсора.

Модуль CRT дозволяє працювати не тільки з усім екраном, а також виділяти на ньому прямокутні вікна. Будь-яке вікно задається своїми верхнім лівим та нижнім правим кутами. Місце знаходження цих кутів, як і положення будь-якого об’єкту на екрані, задаються двома координатами Х та Y. В якості координати Х виступає номер позиції в рядку (зазвичай від 1 до 80), а в якості координати Y – номер рядку (зазвичай від 1 до 25). Для нового вікна, координати курсору відраховуються від верхнього лівого кута, і можуть змінюватись від 1 до ширини вікна по горизонталі, та від 1 до висоти цього вікна по вертикалі.

· Window(X1, Y1, X2, Y2 :byte) – процедура, яка задає вікно – тобто таку область екрану, яка в подальшому буде розглядатися, усіма процедурами воду/виводу як весь екран. Де X1, Y1 – координати лівого верхнього кута, X2, Y2 – координати правого нижнього кута.

· ClrScr –процедура, яка очищує вікно, фарбуючи його поточним кольором фону.

ProgramName_93;

UsesCrt;

Begin

СlrScr; {очищує повністю весь екран}

TextBackGround(Green); {колір фону - зелений}

Window(10, 7, 40, 12); {створюємо нове вікно}

СlrScr; {на екрані з’являється зелений прямокутник}

TextColor(White); {колір тексту - білий}

Write(”Білий на зеленому”); {вивід білим у вікно}

End.

Керування звуком.

Для керування звуком в бібліотеці Crt задано наступні три процедури:

· Sound(f : word) – задає частоту звукових коливань – f.

· NoSound – вимикає звук.

· Delay(t: word) – забезпечує затримку в роботі програми, на t – мілісекунд.

 

Процедур работи зі звуком дозволяють керувати вбудованим динаміком комп’ютера (якщо він є). Процедура Sound вмикає динамик, який починає видавати звук з заданою у герцах частотою. Це ні як не впливає на роботу програми, яка при цьому не зупиниться, і буде працювати одночасно з подачею звукового сигналу, до тих пір поки не трапиться виклик процедури NoSound, яка вимкне динамік.

 

Процедури роботи зі звуком треба використовувати обережно. Адже, якщо після процедури Sound не викликати процедуру NoSound, то звук не припиниться навіть після завершення програми.

Нерідко процедури Sound і NoSound використовують разом, з процедурою Delay, яка призупиняючи програму дозволяє задавати час звучання звукового сигналу певної частоти.

Приклад 9.

Приклад 9.

Для прикладу розглянемо програму, яка генерує звичайну гаму.

Program Laba_8;

Uses

Crt;

Const

nota : array [0..7] of word = (262, 294, 330, 349, 392, 440, 494, 524);

Var

i : byte;

Begin

GotoXY(35,5);

write('Гама'); {виводить слово в задані координати}

for i := 0 to 7 do

Begin

Sound(nota [i]); {видає звуки заданої частоти}

Delay(500); {затримка в пів секунди}

end;

NoSound; {вимикаємо звук}

end.

Блок-схема програми:







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.