2. Теоретические сведения
Модуль Crt реализует ряд процедур и функций, которые дают возможность управлять режимами работы монитора, получать коды клавиатуры, изменять цвета шрифтов в текстовом режиме работы монитора, воспроизводить звук.
Процедуры и функции модуля CRT.
Функция |
Описание |
KeyPressed |
Возвращает True, если на клавиатуре была нажата клавиша, и False в противном случае. |
ReadKey |
Читает символ с клавиатуры. |
WhereX |
Возвращает Х координату текущей позиции курсора относительно текущего окна. Х – горизонтальная позиция. |
WhereY |
Возвращает Y координату текущей позиции курсора относительно текущего окна. Y - вертикальная позиция. |
GotoXY |
Позиционирует курсор. Х – горизонтальная позиция и Y - вертикальная позиция. |
Delay |
Задержка на указанное число миллисекунд. |
AssignCrt |
Назначает текстовый файл на экран. |
ClrEol |
Удаляет все символы от текущей позиции курсора до конца строки без передвижения курсора. |
ClrScr |
Очищает экран или текстовое окно и помещает курсор в верхний левый угол (цвет экрана по умолчанию черный). |
DelLine |
Удаляет строку на которой находится курсор и перемещает все строки ниже этой строки на строку вверх. Нижняя строка очищается. |
InsLine |
Вставляет пустую строку в позиции курсора. |
HighVideo |
Устанавливает высокую интенсивность символов. |
NormVideo |
Устанавливает нормальную интенсивность символов. |
LowVideo |
Устанавливает низкую интенсивность символов. |
NoSound |
Выключает внутренний громкоговоритель. |
Sound |
Включает внутренний громкоговоритель. |
TextBackground |
Устанавливает цвет фона. |
TextColor |
Устанавливает цвет символов. |
TextMode |
Устанавливает текстовый режим. |
Window |
Определяет текстовое окно на экране. |
Константы цветов текста.
Следующие константы используются в процедурах TextColor и TextBackground:
Константа |
Значение |
Название |
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 |
белый |
Blink |
128 |
мерцание символа |
Рассмотрите пример программы:
program nn;
uses crt;
var x1,y1,x2,y2:integer;
begin
clrscr;
{программный опрос размера окна}
x1:=Lo(WindMin)+1;
y1:=Hi(WindMin)+1;
x2:=Lo(WindMax)+1;
y2:=Hi(WindMax)+1;
writeln(x1,',',y1);
writeln(' ',x2,',',y2);
{TextAttr:=White+16*Red+Blink;}
TextColor(White+Blink);
TextBackGround(Red);
writeln;
writeln('Hello');
{залить цветом весь экран}
{TextBackGround(Blue);
clrscr;}
end.
3. ЗАДАНИЕ
1. Ознакомиться с теоретическими сведениями данной работы.
2. Ответить на контрольные вопросы.
3. Выполнить свой вариант задания.
4. ОФОРМЛЕНИЕ ОТЧЕТА
Отчет о работе должен содержать номер, название и цель работы, ответы на контрольные вопросы, текст программы и результат выполнения программы.
5. КОНТРОЛЬНЫЕ ВОПРОСЫ
1) Напишите цикл ожидания нажатия любой клавиши клавиатуры.
2) Нарисуйте координатную сетку при работе в текстовом режиме. Как задаются координаты окна при использовании процедуры Window (условие для координат x1,x2,y1,y2)?
3) Замените соответствующим значением переменной TextAttr процедуры:
TextColor(White+Blink);
TextBackGround(Red);
4) Какие константы цвета используются для заливки фона (№-название)?
5) Какие константы цвета используются для установки цвета шрифта?
6. ВАРИАНТЫ ЗАДАНИЙ
№ задания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
№ по журналу |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Задать окно размером 45
15
темно-синего цвета из левого верхнего
угла экрана пользователя.
По центру окна надпись 'Привет!' черного цвета.
После задержки в 5 секунд переместить надпись вниз построчно, пока она не достигнет последней строки окна.
Залить окно коричневым цветом, в нижней строке окна надпись белым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
2. Задать окно размером 65 20 темно-зеленого цвета из левого нижнего угла экрана пользователя.
В правом нижнем углу окна надпись 'Пока!' темно-синего цвета, задать мерцание.
После задержки в 2 секунды переместить надпись вверх построчно со сдвигом влево на 3 позиции, пока она не достигнет последней строки окна.
Залить окно фиолетовым цветом, в нижней строке окна надпись желтым 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
3. Задать окно размером 55 15 бирюзового цвета из правого верхнего угла экрана пользователя.
В левом нижнем углу окна надпись 'Привет!' темно-зеленого цвета.
После задержки в 3 секунды переместить надпись вверх построчно со сдвигом вправо на 2 позиции, пока она не достигнет последней строки окна.
Залить окно красным цветом, в нижней строке окна надпись светло-бирюзовым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
4. Задать окно размером 40 20 красного цвета из правого нижнего угла экрана пользователя.
В левом верхнем углу окна надпись ' Пока!' бирюзового цвета, задать мерцание.
После задержки в 5 секунд переместить надпись вниз построчно, пока она не достигнет последней строки окна.
Залить окно бирюзовым цветом, в нижней строке окна надпись малиновым 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
5. Задать окно размером 35 15 фиолетового цвета в центре экрана пользователя.
В правом верхнем углу окна надпись 'Привет!' красного цвета.
После задержки в 2 секунды копировать надпись вниз построчно со сдвигом влево на 1 позицию, пока не достигнем последней строки окна.
Залить окно темно-зеленым цветом, в нижней строке окна надпись розовым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
6. Задать окно размером 45 20 коричневого цвета из левого верхнего угла экрана пользователя.
По центру окна надпись ' Пока!' фиолетового цвета, задать мерцание.
После задержки в 5 секунд копировать надпись вверх построчно со сдвигом влево 2 позиции, пока не достигнем последней строки окна.
Залить окно темно-синим цветом, в нижней строке окна надпись салатовым 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
7. Задать окно размером 60 20 светло-серого цвета из левого нижнего угла экрана пользователя.
В правом нижнем углу окна надпись 'Привет!' коричневого цвета.
После задержки в 3 секунды переместить надпись вверх построчно, пока она не достигнет последней строки окна.
Залить окно черным цветом, в нижней строке окна надпись голубым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
8. Задать окно размером 75 15 темно-синего цвета из правого верхнего угла экрана пользователя.
В левом нижнем углу окна надпись ' Пока!' светло-серого цвета, задать мерцание.
После задержки в 5 секунд копировать надпись вверх построчно, пока не достигнем последней строки окна.
Залить окно светло-серым цветом, в нижней строке окна надпись черным 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
9. Задать окно размером 65 15 темно-зеленого цвета из правого нижнего угла экрана пользователя.
В левом верхнем углу окна надпись 'Привет!' темно-серого цвета.
После задержки в 2 секунды переместить надпись вниз построчно со сдвигом на 3 позиции, пока она не достигнет последней строки окна.
Залить окно коричневым цветом, в нижней строке окна надпись желтым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
10. Задать окно размером 70 15 бирюзового цвета в центре экрана пользователя.
В правом верхнем углу окна надпись ' Пока!' голубого цвета, задать мерцание.
После задержки в 7 секунд переместить надпись вниз построчно, пока она не достигнет последней строки окна.
Залить окно фиолетовым цветом, в нижней строке окна надпись красным 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
11. Задать окно размером 65 10 красного цвета из левого верхнего угла экрана пользователя.
По центру окна надпись 'Привет!' салатового цвета.
После задержки в 5 секунд переместить надпись вверх построчно со сдвигом вправо на 3 позиции, пока она не достигнет последней строки окна.
Залить окно красным цветом, в нижней строке окна надпись белым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
12. Задать окно размером 25 20 фиолетового цвета из левого нижнего угла экрана пользователя.
В правом нижнем углу окна надпись ' Пока!' светло-бирюзового цвета, задать мерцание.
После задержки в 4 секунды копировать надпись вверх построчно со сдвигом влево на 1 позицию, пока не достигнем последней строки окна.
Залить окно бирюзовым цветом, в нижней строке окна надпись темно-синим 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
13. Задать окно размером 55 10 коричневого цвета из правого верхнего угла экрана пользователя.
В левом нижнем углу окна надпись 'Привет!' розового цвета.
После задержки в 2 секунды копировать надпись вверх построчно со сдвигом на 3 позиции, пока не достигнем последней строки окна.
Залить окно темно-зеленым цветом, в нижней строке окна надпись коричневым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
14. Задать окно размером 45 10 светло-серого цвета из правого нижнего угла экрана пользователя.
В левом верхнем углу окна надпись ' Пока!' малинового цвета, задать мерцание.
После задержки в 5 секунд копировать надпись вниз построчно, пока не достигнем последней строки окна.
Залить окно темно-синим цветом, в нижней строке окна надпись белым 'Для выхода нажать ввод', обеспечить ожидание нажатия клавиши ввода.
15. Задать окно размером 25 15 темно-синего цвета в центре экрана пользователя.
В правом верхнем углу окна надпись 'Привет!' желтого цвета.
После задержки в 2 секунды переместить надпись вниз построчно со сдвигом влево на 1 позицию, пока она не достигнет последней строки окна.
Залить окно черным цветом, в нижней строке окна надпись желтым 'Для выхода нажать любую клавишу' (задать мерцание), обеспечить ожидание нажатия любой клавиши.
Лабораторная работа N23.
МОДУЛЬ SYSTEM.
1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
Целью работы является изучение основных процедур и функций модуля System.
