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


 

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

68559. Диференційований підхід до підвищення професійної компетентності педагогів в інноваційній школі 88.5 KB
  Специфіка сучасного етапу розвитку школи зумовлена новими завданнями які стоять перед освітніми установами: гуманізація і гуманітаризація освітнього процесу; створення умов для вільного розвитку особистості; висунення на перший план загальнолюдських цінностей і в першу чергу особистості...
68560. Инновации в менеджменте современного образовательного учреждения 81.5 KB
  Предлагаемое заседание методического совета которое проходило в компьютерном классе с использованием информационных технологий наглядно показывает роль методической службы УВК во внедрении инновационной деятельности в процессе управления.
68561. Проект - составная имиджа учебного заведения 49 KB
  Используя этот опыт мы отобрали творчески освоили откорректировали и разработали свою модель матрицу алгоритм учебного проекта которая может изменяться варьироваться: Формулирование идей замыслов тем. Коллективное обсуждение идей будущего проекта в группе распределение ролей и утверждение этапов деятельности.
68562. Шкільна кваліметрична лабораторія: моніторинг ключових життєвих компетентностей 187 KB
  Реформування освіти у відповідності із Законом України «Про загальну середню освіту» передбачає реалізацію принципів гуманізації освіти, її демократизації, методологічної переорієнтації процесу навчання на розвиток особистості учня, формування його життєвих компетентностей.
68563. Новый статус – новая страница в образовательном процессе 141 KB
  Исходя из целей была определена проблема школы-гимназии: Личностно ориентированный подход в обеспечении формирования компетентностной творческой личности в условиях модернизации образования и гуманизации учебно-воспитательного процесса в рамках УВК.
68565. Педагогічна вітальня «Творчий портрет учителя» 74.5 KB
  Мета заходу: презентувати педагогічний досвід вчителів, які атестуються; розвивати в них уміння об’єктивно оцінювати результати своєї праці; стимулювати безперервну фахову та загальну освіту педагогів школи, активізувати їхню творчу професійну діяльність.
68566. Моніторинг професійної педагогічної майстерності 93 KB
  Поняття моніторингу багатогранне і являє собою цілісний управлінський інструмент. Які ж методи використовуємо для забезпечення якісного об'єктивного надійного результату моніторингу Метод спостереження найдоступніший спосіб збору інформації. Проте варто пам’ятати: щоб уникнути суб’єктивності й однобічності...
68567. Конкурс професійної майстерності «Щасливий разом з дітьми» 62.5 KB
  Мета: сприяти формуванню професійної майстерності учителів школи, показати розвиток їх професійних здібностей; розвивати потребу в самовдосконаленні, саморозвитку; сприяти піднесенню їхнього авторитету. Обладнання: виставка творчих доробок учителів, що атестуються; портфоліо, плакат із висловом...