Лекция №14.1: Методы создания пользовательского интерфейса

страницы: 1 2 3 4

Дружественный интерфейс и методы его создания. Возможности текстового режима. Простейшая графика. 

Содержание

Любая программа, написанная на языке Pascal, может работать с экраном в двух режимах: в текстовом или в графическом. По умолчанию всегда используется текстовый режим.

Текстовый режим

В текстовом режиме единицей вывода информации служит символ. На экране каждый символ занимает одно знакоместо — прямоугольный участок размером 8х16 пикселей (зёрен экрана). Во весь экран помещается 80х25 знакомест.

Курсор (мигающий прямоугольник) помечает то место на экране, куда по умолчанию будет осуществлён вывод очередного символа, — текущую позицию. Для определения текущей позиции курсора предназначена сетка координат, мысленно накладываемая на экран. Левое верхнее знакоместо имеет координаты (1,1), правое верхнее — (1,80), левое нижнее — (25,1) и правое нижнее — соответственно (25,80).

Рассмотренные в лекции 6 процедуры Write() и WriteLn() работают именно с текстовым экраном: они выводят информацию посимвольно, начиная с текущей позиции курсора.

Если при выводе информации в текстовый файл любой символ записывается туда в виде своего изображения, то при выводе на экран существуют четыре исключения из этого правила:

  • Вместо изображения символа #7 компьютер издаст звуковой сигнал.
  • Вместо изображения символа #8 курсор на экране будет передвинут на одну позицию влево.
  • Вместо изображения символа #10 курсор на экране будет передвинут на одну строку вниз.
  • Вместо изображения символа #13 курсор на экране будет передвинут на начало текущей строки.

Остальные символы выводятся на экран в «правильном» виде.

Процедуры модуля Crt

В предыдущей лекции мы уже упоминали, что модуль Crt, входящий в состав стандартных библиотек языка Pascal, содержит средства для работы с экраном в текстовом режиме.

Для того, чтобы сделать работоспособными все описанные ниже процедуры и функции, ваша программа должна подключить стандартный модуль Crt:

uses Crt;

Активная область ввода / вывода

Процедура Window(x1, y1, x2, y2 : Byte) создаст на экране окно с координатами левого верхнего угла в точке (x1, y1) и координатами правого нижнего угла в точке (x2, y2). Теперь активная область экрана будет ограничена этим окном. Текущие координаты курсора будут отсчитываться не от левого верхнего угла экрана, а от левого верхнего угла этого окна.

Очистка

Процедура ClrScr очистит весь экран (или активное окно); курсор будет помещён в верхний левый его угол.

Процедура ClrEol очистит текущую строку, начиная с текущей позиции курсора и до правого края экрана (окна).

Процедура DelLine удалит строку, в которой находится курсор.

Процедура InsLine очистит текущую строку целиком. Курсор останется на прежней позиции.

Цвета

Процедура TextBackground(color : Byte) установит цвет фона.

Процедура TextColor(color : Byte) установит цвет выводимого текста.

Замечание: Вместо номера цвета возможно использовать соответствующую константу (см. табл. 14.1 или справочник).

Таблица 14.1. Стандартные цвета языка Pascal

КонстантаНомерЦветКонстантаНомерЦвет
Black0  ЧёрныйDarkGray8  Тёмно–серый
Blue1  СинийLightBlue9  Ярко–синий
Green2  ЗелёныйLightGreen10  Ярко–зелёный
Cyan3  ГолубойLightCyan11  Ярко–голубой
Red4  КрасныйLightRed12  Розовый
Magenta5  ФиолетовыйLightMagenta13  Ярко–фиолетовый
Brown6  КоричневыйYellow14  Жёлтый
LightGray7  Светло–серыйWhite15  Белый

Помимо этого, можно использовать константу Blink = 128 (мерцание).

Звук

Процедура Sound(hz : Word) включит звуковой сигнал с частотой hz Герц.

Процедура NoSound выключит звуковой сигнал.

Позиционирование

Процедура GotoXY(x, y : Byte) переместит курсор в заданную позицию в пределах текущего окна (экрана).

Функция WhereX : Byte вычислит положение курсора в текущем окне (или на экране): его горизонтальную составляющую. Напомним, что координата X отсчитывается от левого края экрана (окна).

Функция WhereY : Byte вычислит положение курсора в текущем окне (или на экране): его вертикальную составляющую. Напомним, что координата Y отсчитывается от верхнего края экрана (окна).

Ожидание

Процедура Delay(ms : Word) приостановит исполнение программы на ms миллисекунд.

Функция KeyPressed : Boolean отслеживает нажатия клавиш (на клавиатуре).

Функция ReadKey : Char возвращает код символа, чья клавиша (или комбинация клавиш) была нажата.

страницы: 1 2 3 4

Примечания

Код для вставки: :: :: :: ::
Поделиться: // //