34657

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

Реферат

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

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

Русский

2013-09-08

54 KB

8 чел.

исциплина «Основы алгоритмизации и программирование»  Стандартные процедуры и функции модулей 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, определяющее интервал времени (в миллисекундах), в течение которого задерживается выполнение следующего оператора программы.


 

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

74029. Великие революции Нового времени и их последствия 54 KB
  Старый феодальный порядок подрывали многочисленные народные восстания, происходившие в Италии, Франции, России, Испании и других странах. Синхронность этих проявлений кризисных общественно-политических ситуаций свидетельствовала об универсализме глубинных противоречий
74030. Особенности внешней и колониальной политики европейских государств и США 68 KB
  Цели приобретения колоний метрополиями Экономика торговля: эксплуатация природных и людских ресурсов в ряде случаев прямой доступ к уникальным редким ресурсам в том числе транзиту стремление к монополизации мировой торговли ими...
74031. Генезис идеологии индустриального общества в странах Запада: от Просвещения до либерализма 56.5 KB
  Политические взгляды Руссо изложил в сочинении Об общественном договоре, в котором на первый план выдвигает общество, доказывая, что обществу раньше принадлежала вся власть, которую оно по договору передало правителям, чтобы они пользовались этой властью в интересах самого общества.
74032. Специфика процессов национального объединения Германии и Италии во второй половине XIX века 35 KB
  Специфика процессов национального объединения Германии и Италии во второй половине XIX века Образование Германской империи. В ходе революции в Германии был выдвинут вопрос о национальном объединении страны об устройстве единой Германии. Большая часть германской буржуазии поддерживала план создания Малой Германии т. Бисмарк приступил к объединению Германии железом и кровью.
74033. Основные тенденции политического и социально-экономического развития стран Запада на рубеже XIX-XX 42.5 KB
  Концентрация производства и капитала дошедшая до такой высокой ступени развития что она создала монополии играющие решающую роль в хозяйственной жизни; слияние банкового капитала с промышленным и создание на базе этого финансового капитала финансовой олигархии; вывоз капитала в отличие от вывоза товаров приобретает особо важное значение...
74034. Международные отношения в Европе во второй половине XIX – начале XX века. Первая Мировая война 42 KB
  Достаточно быстрыми темпами развивались остальные сферы национального хозяйства Германии наука образование и т. В то же время геополитическое положение Германии не соответствовало растущей мощи ее монополий амбициям государства. В частности колониальные владения Германии были весьма скромными в сравнении с другими индустриальными странами. усиливается экспансия Германии на Ближнем Востоке в связи с постройкой Багдадской железной дороги; в Китае в связи с аннексией порта Цзяочжоу 1897 и установлением ее протектората над Шаньдунским...
74035. Кризис традиционной китайской цивилизации при династии Цин 45 KB
  Во время правления династии Цин упрочились контакты Китая с Западом и в страну стали проникать западные религия культура и технические достижения. С помощью европейских астрономов был разработан китайский календарь европейские географы создали карты Китая. Коррупция в правительстве достигла невероятного размаха; неспокойная обстановка в обществе находила выход в восстаниях Ухудшилось международное положение Китая. Характер деятельности европейцев в Индии Малайе и на Филиппинах а также вероломное поведение первых португальских и...
74037. Основные тенденции и этапы в развитии отечественной культуры в IX – XX веках 42 KB
  Основные тенденции и этапы в развитии отечественной культуры в IX XX вв. Следующий виток развития культуры связан с крещением Руси. В течение длительного времени до XIX века христианство останется доминантой культуры. В основе этих достижений успехи в развитии материальной и духовной культуры предшествующего периода.