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


 

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

67504. Семь лекций по истории социологии 97.5 KB
  В книге рассматриваются основные принципы истории социологии; анализируются ключевые идеи из которых сформировалась социология и благодаря которым предыстория этой дисциплины превратилась в ее историю; представлены интеллектуальные портреты некоторых классиков социологической мысли...
67505. Структура конфликта 3.02 MB
  Структура конфликта Рассматриваемые в лекции вопросы Конфликт: сущность и специфика конфликтного взаимодействия. Структура конфликта: характеристика основных элементов конфликтного взаимодействия. Объективные и личностные элементы конфликта. Конструктивные и деструктивные функции конфликта.
67506. Классификация и параметры сетей 780.5 KB
  Информационно вычислительные сети являются сегодня мощным средством обработки информации. Компонентами Вычислительной сети могут быть ЭВМ и периферийные устройства являющиеся источниками и приемниками данных. ООД и АКД вместе представляют собой Станцию данных или узел сети...
67507. Теоретические основы финансово-коммерческих вычислений 64.5 KB
  Фактор времени в финансово-коммерческих расчетах Российская экономика все более интегрируется в мировую экономику что требует использования финансового инструментария применяемого развитыми странами и международными организациями в финансовой практике. Важность учета фактора времени...
67508. Операции наращения. Простые проценты. Формула простых процентов 223.5 KB
  При использовании простых ставок процентов проценты процентные деньги определяются исходя из первоначальной суммы долга. Схема простых процентов предполагает неизменность базы с которой происходит начисление процентов.
67509. Операции дисконтирования. Сущность дисконтирования 57.5 KB
  Такие ситуации возникают при разработке условий финансовой сделки, или когда проценты с наращенной суммы удерживаются непосредственно при выдаче ссуды. Процесс начисления и удержания процентов вперед, до наступления срока погашения долга, называют учетом, а сами проценты в виде разности наращенной и первоначальной сумм долга дисконтом.
67510. Потоки платежей и финансовые ренты. Сущность потока платежей и основные категории 203 KB
  Потоки платежей являются неотъемлемой частью всевозможных финансовых операций: с ценными бумагами, в управлении финансами предприятий, при осуществлении инвестиционных проектов, в кредитных операциях, при оценке бизнеса, при оценке недвижимости, выборе альтернативных вариантов финансовых операций...
67511. Инфляция в финансово-коммерческих расчетах. Сущность инфляции и необходимость ее учета в количественном анализе 62 KB
  Инфляция это экономическое явление которое возникает вследствие целого комплекса как политических так и социально-экономических событий. Уровень инфляции выступает обобщающим показателем финансово-экономического положения страны. Внешним проявлением инфляции является повышение общего уровня цен...
67512. Типовые приложения финансовой математики. Финансовые функции ЕХСЕL как основа практических расчетов в современных условиях. Сущность финансовых функций 97 KB
  Операции наращения Функции обслуживающие расчеты по операциям наращения позволяют рассчитать будущую стоимость разовой суммы по простым и сложным процентам а также будущее значение потока платежей как на основе постоянной процентной ставки так и на основе переменной процентной ставки.