34657

Стандартные процедуры и функции модуля CRT

Реферат

Информатика, кибернетика и программирование

Текстовый вывод на экран Процедура TextModeMode: Word;. Процедура TextColorColor: Byte Определяет цвет выводимых символов. Процедура TextBckgroundColor: Byte; Определяет цвет фона. Единственным параметром обращения к этим процедурам должно быть выражение типа Byte задающее код нужного цвета.

Русский

2013-09-08

54 KB

7 чел.

исциплина «Основы алгоритмизации и программирование»  Стандартные процедуры и функции модулей CRT и DOS

Стандартные процедуры и функции модуля CRT

[1] Модуль CRT

[1.1] Программирование клавиатуры

[1.2] Текстовый вывод на экран

[1.3] Программирование звукового генератора

Модуль CRT

Программирование клавиатуры 

Функция KeyPressed. Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, a True - что в буфере есть хотя бы один символ, еще не прочитанный программой.

Функция ReadKey. Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть хотя бы один не прочитанный символ, код этого символа берется из буфера и возвращается в качестве значения функции, в противном случае функция будет ожидать нажатия на любую клавишу. Ввод символа с помощью этой функции не  меняет содержимое экрана.

Если нажимается любая алфавитно-цифровая клавиша, расширенный код совпадает с ASCII-кодом соответствующего символа. При нажатии функциональных клавиш F1...F10, клавиш управления курсором, клавиш Ins, Home, Del, End, PgUp, PgDn в буфер помещается двухбайтная последовательность: сначала символ #0, а затем расширенный код клавиши. Таким образом, значение #0, возвращаемое функцией ReadKey, используется исключительно для того, чтобы указать программе на генерацию расширенного кода. Получив это значение, программа должна еще раз обратиться к функции, чтобы прочитать расширенный код клавиши.

Uses CRT;  

var 

 С: Char;  

begin  

 repeat 

   С:= ReadKey;  

   if C<>#0 then 

     WriteLn(ord(C))  

   else 

     WriteLn(ord(ReadKey) :8)

 until C=#27 {27 - расширенный код клавиши Esc}  

end.

Если Вы воспользуетесь этой программой, то обнаружите, что нажатие на некоторые клавиши игнорируется функцией ReadKey. Это прежде всего так называемые сдвиговые клавиши - Shift, Ctrl, Alt. Сдвиговые клавиши в MS-DOS обычно используются для переключения регистров клавиатуры и нажимаются в сочетании с другими клавишами. Именно таким способом, например, различается ввод прописных и строчных букв. Кроме того, функция игнорирует переключающие клавиши Caps Lock, Num. Lock, Scroll Lock, а также «лишние» функциональные клавиши F11 и F12 клавиатуры IBM AT, не имеющие аналога на клавиатуре ранних моделей IBMPC/XT (в этих машинах использовалась 84-клавишная клавиатура, в то время как на IBM AT - 101-клавишная).

Текстовый вывод на экран 

Процедура TextMode(Mode: Word);.

Используется для задания одного из возможных текстовых режимов работы адаптера монитора. Здесь Mode - код текстового режима. В качестве значения этого выражения могут использоваться следующие константы, определенные в модуле CRT.

const 

 BW40=0{Черно-белый режим 40x25}  

 Со40=1{Цветной режим 40x25}

 BW80=2{Черно-белый режим 80x25}

 Со80=3{Цветной режим 80x25}  

 Font8x8=256{Используется для загружаемого шрифта в режиме

             80х43 или 80х50 с адаптерами EGA илиVGA}

При вызове TextMode сбрасываются все ранее сделанные установки цвета и окон, экран очищается и курсор переводится в его левый верхний угол.

Процедура TextColor(Color: Byte) Определяет цвет выводимых символов.  

Процедура TextBackground(Color: Byte); Определяет цвет фона.

Единственным параметром обращения к этим процедурам должно быть выражение типа Byte, задающее код нужного цвета. Этот код удобно определять с помощью следующих мнемонических констант, объявленных в модуле CRT:

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;{Мерцание символа}

Процедура ClrScr. Очищает экран или окно (см. ниже процедуру Window). После обращения к ней экран (окно) заполняется цветом фона и курсор устанавливается в его левый верхний угол.

Процедура Window (XI,Y1,X2,Y2: Byte); Определяет текстовое окно - область экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран. Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). X1...Y2 - координаты левого верхнего (XI,Y1) и правого нижнего (X2,Y2) углов окна. Они задаются в координатах экрана, причем левый верхний угол экрана имеет координаты (1,1), горизонтальная координата увеличивается слева направо, а вертикальная - сверху вниз.

Обращение к процедуре Window игнорируется, если какая-либо из координат выходит за границы экрана или если нарушается одно из условий: Х2>Х1 и Y2>Y1.

Каждое новое обращение к Window отменяет предыдущее определение окна.

Процедура GotoXY(X,Y: Byte);. Переводит курсор в нужное место экрана или текущего окна. Здесь X, Y - новые координаты курсора. Координаты задаются относительно границ экрана (окна), т.е оператор

Функции WhereX и WhereY. С помощью этих функций типа Byte можно определить текущие координаты курсора: WhereX возвращает его горизонтальную, a WhereY - вертикальную координаты.

Процедура ClrEOL. Стирает часть строки от текущего положения курсора до правой границы окна (экрана). Положение курсора не меняется.

Процедура DelLine. Уничтожает всю строку с курсором в текущем окне (или на экране, если окно не создано). При этом все строки ниже удаляемой (если они есть) сдвигаются вверх на одну строку.

Процедура InsLine. Вставляет строку: строка с курсором и все строки ниже ее сдвигаются вниз на одну строку; строка, вышедшая за нижнюю границу окна (экрана), безвозвратно теряется; текущее положение курсора не меняется.

Процедуры LowVideo, NormVideo и HighVideo.  С помощью этих процедур без параметров можно устанавливать соответственно пониженную, нормальную и повышенную яркость символов.

Программирование звукового генератора 

Процедура Sound(F: Word);. Заставляет динамик звучать с нужной частотой. Здесь F - выражение типа Word, определяющее частоту звука в герцах. После обращения к процедуре включается динамик и управление немедленно возвращается в основную программу, в то время как динамик будет звучать впредь до вызова процедуры NoSound.

Процедура No Sound. Выключает динамик. Если он к этому моменту не был включен, вызов процедуры игнорируется.

Процедура Delay(T: Word);. Обеспечивает задержку работы программы на заданный интервал времени. Здесь Т - выражение типа Word, определяющее интервал времени (в миллисекундах), в течение которого задерживается выполнение следующего оператора программы.


 

А также другие работы, которые могут Вас заинтересовать

4805. Управление инновационной деятельностью предприятия 79.5 KB
  Управление инновационной деятельностью предприятия Тема включает два раздела: Содержание инновационного менеджмента. Организационные формы инновационного менеджмента. Содержание инновационного менеджмента Вопросы: Содержание инновационной де...
4806. Теории мотивации в современном управлении 65.22 KB
  Теории мотивации в современном управлении Введение Человека побуждает к активным действиям необходимость удовлетворения различных потребностей. Демокрит рассматривал потребность как основную движущую силу, которая сделала ум человека изощренным, поз...
4807. Проблемы и перспективы правового обеспечения страхования жизни в Украине 73 KB
  Данный реферат посвящен теме правовое обеспечение страхования в Украине. Данная тема является актуальной, поскольку правовое обеспечение страхования Украины необходимо знать каждому гражданину, так это непосредственно касается каждого. Прав...
4808. Токарный станок. Обработка наружных конических поверхностей заготовок 51.5 KB
  Токарный станок Токарный станок предназначен для обработки преимущественно тел вращения путём снятия с них стружки при точении. Так сказать — это один из древнейших станков, на основе которого создавались станки сверлильной, расточной и др. гру...
4809. Проектирование технологических котлетоформовочных машин 258 KB
  Котлетоформовочная машина: Диаметр бункера D=0,265 м Max=0,130 м, Min=0,035 м (расстояние от оси вращения до рабочих точек лопасти) Частота вращения формовочного стола n1=0,2 с-1 Частота вращения лопасти n=0,60 с-1 Диаметр фо...
4810. Боевые искусства древней Греции 93.5 KB
  Введение Единоборство в широком смысле (т.е. в том, который выходит за рамки понятий честной схватке один на один) является неким способом, позволяющим уцелеть в бою, достигнуть поставленных целей – по обороне или нападению. Боевое искусство ...
4811. Биосфера. Воздействие человека на биосферу 82.5 KB
  С возникновением человеческой цивилизации появился новый фактор, влияющий на судьбу живой природы и окружающей среды. Он достиг огромной силы в текущем столетии и особенно в последнее время. С появлением и развитием человечества процесс ...
4812. Определение минимально необходимой совокупности контролируемых параметров 370.21 KB
  Задание: определение минимально необходимой совокупности контролируемых параметров. Функционально-логическая модель объекта контроля представлена на бланке задания. Функционально-логическая модель объекта контроля. Таблицу функций не...
4813. Cоставление таблицы функций неисправностей для одиночных отказов функциональных элементов модели 206 KB
  Задание: составить таблицы функций неисправностей для одиночных отказов функциональных элементов модели. Функционально-логическая модель объекта контроля представлена на бланке с заданием. При составлении таблицы будем исходить из того, что входные ...