
- •Предисловие
- •Введение
- •1. Установка и настройка интегрированной среды
- •2.1. Работа с текстовым редактором тр
- •Команды управления курсором
- •Команды вставки и удаления
- •Команды работы с блоками
- •Команды поиска и замены
- •Regular expression – искать по выражению – описателю текста;
- •Контрольные вопросы
- •3. Элементы языка и структура программы
- •3.1. Алфавит языка
- •3.2. Зарезервированные слова
- •3.3. Знаки операций
- •Основные операции тр 7.0
- •3.4. Типы данных
- •Типы целых чисел
- •Типы вещественных чисел
- •3.5. Базовые конструкции языка
- •Основные стандартные математические функции tp 7.0
- •3.6. Структура программы
- •Контрольные вопросы
- •4.1. Этапы разработки программы
- •Пример. Вычислить площадь треугольника по формуле Герона: , гдеa, b, c – длины сторон треугольника, - полупериметр;
- •4.2. Основы работы в интегрированной среде Turbo Pascal
- •4.2.1. Меню File
- •4.2.2. Меню Edit
- •4.2.3. Меню Run
- •Упражнения
- •5. Составление и отладка программ с разветвляющейся структурой
- •Условные графические обозначения основных блоков схем алгоритмов
- •5.1. Организация ветвлений в программах
- •Логические операции
- •5.2. Средства среды тр для отладки программ
- •5.2.1. Меню Run
- •5.2.2. Меню Compile
- •5.2.3. Меню Debug
- •5.2.4. Меню Window
- •5.3. Методика отладки программ cразветвляющейся структурой
- •Упражнения
- •Контрольные вопросы
- •6. Составление и отладка программ
- •6.1. Организация программ с циклами
- •Блок-схемы операторов цикла
- •Объявление интервального типа осуществляется заданием двух констант, указывающих верхнюю и нижнюю границы диапазона, и описывается двумя способами:
- •6.2. Методика отладки программ с циклами
- •Упражнения
- •7. Программирование с использованием
- •7.1. Организация подпрограмм
- •7.2. Методика отладки программ с подпрограммами
- •8. Программирование с использованием
- •8.1. Структура модулей
- •8.2. Компиляция модулей
- •Упражнения
- •9. Обработка символьной информации
- •9.1. Символьный тип данных
- •9.2. Строковый тип данных
- •9.3. Множества
- •Упражнения
- •10. Программирование с использованием записей
- •Упражнения
- •11. Программирование с использованием файлов
- •11.1. Файловый тип данных
- •11.2. Работа с типизированными файлами
- •Упражнения
- •12. Программирование с использованием модуля crt
- •12.1. Работа с клавиатурой
- •Непечатаемые символы таблицы ascii
- •Скан-коды клавиатуры
- •Информационные байты расширенных кодов клавиатуры
- •12.2. Работа с экраном
- •Константы цвета
- •12.3. Управление звуком динамика
- •Упражнения
- •Варианты заданий
- •Исходные данные
- •Расположение окон ввода и вывода
- •Цвета фона и символов окон
- •13. Программирование с использованием модуля graph
- •13.1. Инициализация и завершение графического режима
- •13.2. Установка цвета
- •13.3. Стиль заполнения
- •13.4. Экран, окно, графический указатель
- •13.5. Отображение точки и линии на экране
- •13.6. Вывод некоторых геометрических фигур
- •13.7. Вывод текста в графическом режиме
- •Упражнения
- •Варианты заданий
- •Библиографический список
- •Оглавление
12.2. Работа с экраном
Основным текстовым режимом работы является СО80 (размер экрана 8025), который устанавливается по умолчанию.
Координаты экрана имеют вид, представленный на рис. 12.1.
Рис. 12.1. Координаты экрана в текстовом режиме
Началом координат является точка (1,1). Очередной вывод символа на экран начинается с текущей позиции курсора.
Kоординаты курсора можно определить с помощью функций
Function WhereX : byte; - координату Х;
Function WhereY : byte; - координату Y.
Курсор можно перемещать в любую позицию экрана с помощью процедуры GoToXY:
Procedure GoToXY ( X, Y : byte);
Если задаются недопустимые координаты (X,Y), то обращение к процедуре игнорируется.
Модуль CRTпозволяет создавать окна, которые, в частности, используются для отображения текстовой информации и формирования меню.
Основной подпрограммой организации окна является процедура
Procedure Window (X1, Y1, X2, Y2 : byte);
где (X1,Y1) и (X2,Y2) - соответственно координаты верхнего левого и нижнего правого углов окна.
После выполнения процедуры Windowкурсор первоначально устанавливается в позицию (1,1) созданного окна. Все последующие выводы информации процедурамиWrite/WriteLnосуществляются в пределах этого окна.
Текущее окно отменяется введением нового окна, которое становится текущим. Например, для того чтобы вернуться к работе в пределах всего экрана, необходимо подать команду Window (1,1,80,25). Вновь созданное окно может перекрывать ранее созданные окна.
При необходимости можно задать цвет фона с помощью процедуры
Procedure TextBackGround (Color : byte);
а цвет символов - применением процедуры
Procedure TextColor (Color : byte);
где Color - константа цвета фона.
Новые установки цвета не влияют на ранее выведенный текст.
В текстовых режимах цвет символов и фонов определяется константами, значения которых представлены в табл. 12.4.
Таблица 12.4
Константы цвета
Константа |
Значение |
Цвет |
Константа |
Значение |
Цвет |
Black |
0 |
Черный |
DarkGray |
8 |
Темно-серый |
Blue |
1 |
Синий |
LightBlue |
9 |
Голубой |
Green |
2 |
Зеленый |
LightGreen |
10 |
Светло-зеленый |
Cyan |
3 |
Бирюзовый |
LightCyan |
11 |
Светло-бирюзовый |
Red |
4 |
Красный |
LightRed |
12 |
Светло-красный |
Magenta |
5 |
Малиновый |
LightMagenta |
13 |
Светло-малиновый |
Brown |
6 |
Коричневый |
Yellow |
14 |
Желтый |
LightGray |
7 |
Светло-серый |
White |
15 |
Белый |
При этом цвет фона ограничен значениями Color= 0..7.
Если к константе цвета в процедуре TextColorприбавить константуBlink= 128, то выводимые символы будут мерцать.
Для очистки окна (экрана) используется процедура ClrScr (от англ.ClearScreen):
Procedure ClrScr;
Она очищает окно и помещает курсор в точку (1,1).
Для работы со строками в CRTприменяются процедурыClrEol,InsLineиDelLine:
а) Procedure ClrEol; - стирает все символы, начиная от позиции курсора до конца строки;
б) Procedure DelLine;- удаляет строку, на которой находится курсор; при этом все строки, расположенные ниже, перемещаются на одну строку вверх, а внизу экрана появляется стока, закрашенная цветом фона;
в) Procedure InsLine; - вставляет пустую строку в позицию курсора; при этом все строки смещаются вниз на одну строку, а самая нижняя исчезает с экрана.