3. Простые операторы управления вводом-выводом в текстовом режиме.
Кроме ввода и вывода потока символов более удобный пользовательский интерфейс может быть обеспечен при использовании ввода-вывода в текстовом режиме экрана. Экранный ввод-вывод рассматривает экран как прямоугольное окно стандартного размера 25х80 (25 строк по 80 символов в строке). Все позиции символов характеризуются своими координатами: верхний левый угол имеет координаты 1,1; правый нижний угол - координаты 80, 25.
В Турбо Паскале имеются средства управления вводом с клавиатуры, управления курсором, вывода на экран, управления цветом фона экрана и выводимых символов, яркостью символов и ряд других функций (в том числе управления звуковым генератором). Кроме того, предусмотрены средства установки на экране любых окон и обеспечения ввода-вывода текстовой информации в окна.
Все эти средства сосредоточены в стандартном модуле Турбо Паскаля - модуле CRT. Мы рассмотрим здесь лишь простейшие средства экранного ввода-вывода, которые будем использовать уже в простых программах, отложив более подробное изучение модуля CRT на лекции, посвященные модулям Турбо Паскаля.
Для возможности доступа к средствам управления экранным вводом-выводом в программе на Турбо Паскале необходимо первой строкой раздела описаний программы записать ссылку на использование модуля CRT в форме:
uses CRT;
где: uses - ключевое слово, означающее подключение модуля к программе.
Установка цвета фона, цвета символов и очистка экрана.
Модуль CRT допускает использовать в текстовом режиме экрана 16 цветов, задаваемых стандартными константами цветов от black до white (это имена констант, а сами константы являются целыми числами от 0 до 15, так black соответствует константе 0, а white - константе 15). Эти константы представлены следующей таблицей:
Таблица 2. Константы цветов модуля CRT.
Black |
Blue |
Green |
Cyan |
Red |
Magenta |
Brown |
LightGray |
0 черный |
1 синий |
2 зеленый |
3 голубой |
4 красный |
5 фиолет. |
6 коричн. |
7 свет.сер. |
DarkGray |
LightBlue |
Light Green |
LightCyan |
LightRed |
Light Magenta |
Yellow
|
White |
8 тем.сер. |
9 ярк.син. |
10 ярк.зел. |
11 ярк.гол. |
12 розов. |
13 малин. |
14 желтый |
15 белый |
Для цвета фона можно использовать первые 8 цветов, а для цвета символов - все 16 цветов. Эти цвета устанавливаются следующими операторами:
TextBackground( < цвет> );
TextColor(< цвет> );
где: < цвет> - константа цвета.
Следует иметь в виду, что установки цвета всегда относятся к последующим операторам ввода и вывода, и не имеют обратного действия (на ранее выполненные операторы).
Часто для установки цвета фона на экране используют оператор очистки экрана. Его действие эквивалентно заполнению всего экрана пробелами (с предварительно установленным цветом фона) и установке курсора в верхний левый угол экрана (с координатами 1,1). Этот оператор очистки экрана имеет название ClrScr. Оператор стирает имеющуюся ранее информацию и подготавливает вывод в верхнюю строку экрана (в отличие от потокового вывода, выполняемого всегда в нижнюю строку экрана). Ввод и вывод при этом могут выполняться теми же операторами read, readln, wrire, writeln.
Установка окон на текстовом экране.
Для установки окна предусмотрен оператор
window (x1,y1,x2,y2);
где: x1,y1,x2,y2 - координаты левого верхнего и правого нижнего угла окна.
При установке окна просто соответствующая площадь экрана резервируется для последующего ввода-вывода. Никакого стирания ранее выведенной информации не происходит, не происходит также и обрамления окна рамками (для этого необходимо использовать программу обрамления, которая не предусмотрена в составе средств CRT).
После установки окна все последующие операторы ввода-вывода, в том числе и операторы CRT относятся только к этому окну до тех пор, пока не будет открыто новое окно (сам оператор window относится к полному экрану). Полный экран можно рассматривать как окно, устанавливаемое оператором window (1,1,80,25).
Замечание
|
Если в операторе window указать координаты окна вне экрана, выполнение оператора window будет проигнорировано без какого либо системного сообщения! |