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


 

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

73907. Українська школа марженалізму на межі 18-20 століття. М. І. Туган-Барановський, О. Білімович, р. Орженецький, М. Ковалевський, Є. Слуцький, А. Антонович 46 KB
  Він детально викладає теорію цінності Менгера підтримує критику австрійською школою трудової теорії вартості і особливо теорії вартості К. Білимович бачить заслугу австрійської школи саме в тім що вона виступила проти трудової теорії вартості завдяки чому всі теоретичні розробки Маркса положення про двоїстий характер праці робочу силу як товар додаткову вартість як і вся теорія експлуатації зависла у повітрі1. Сприйняття і пропаганду суб\'єктивнопсихологічної теорії цінності австрійської школи в Росії й Україні було доповнено...
73908. Революційно-демократичний напрям економічної думки в Україні. АС. Подолинський, І. Франко, О. Терлецький, В Навроцький 61 KB
  Франко О. Франко та інші. Франко 1856 1916 великий український письменник мислитель історик філософ літературознавець. Франко дослідженню економіки Галичини становищу селянства й робітничого класу.
73909. Ліберальні напрями економічної думки в Україні в 19 столітті. М. Зібер, М. Драгоманов, М. Довнар-Запольський 33 KB
  Драгоманов М. Михайло Петрович Драгоманов 1841 1895 видатний український мислитель історик публіцист етнограф літературний критик. Драгоманова як політично неблагонадійного було звільнено з посади викладача. Драгоманова в розвитку української і національної ідеї.
73910. Сучасний монетаризм М. Фрідмен 57.5 KB
  Монетаризм являє собою одну з найвпливовіших шкіл сучасної економічної науки, що належать до некласичного напряму. Він розглядає явища господарського життя крізь призму процесів, що відбуваються у сфері грошового обігу...
73911. Економічна думка країн Давнього Сходу й Передньої Азії. Давньоєгипетські джерела. Закони Ешнунни. Ліпіт Іштара. Хаммурапі 28.5 KB
  До нашої доби дійшли Повчання гераклеопольського царя своєму синові Мерікара Проречення Іпусера Пророцтво Неферті Повчання Ахтоя сина Дуауфа своєму синові Піопі різні адміністративногосподарські та юридичні документи. Так наприклад Повчання гераклеопольського царя своєму синові Мерікара XXII ст. Тоді вони працюватимуть задля царя як один загін і не буде серед них бунтарів1. є закони вавилонського царя Хаммурапі.
73912. Економічна думка в Україні в пореформений період 19 століття. М. Бунге, Д. Піхно, С. Вітте, І. Сокальський 22 KB
  Бунге Д. Бунге професор згодом ректор Київського університету у 80ті рр. Бунге вказував на велике значення для розвитку політичної економії правильного визначення її предмета і вважав що складність такого визначення пояснюється позицією ліберальної економічної школи та соціалістів. Бунге критикував соціалістів за те що вони засуджували існуючий порядок і вбачали свій ідеал у новій організації праці у вигаданих формах суспільного устрою3.
73913. Створення К. Марксом і Ф. Енгельсом пролетарської політекономії : початок формування економічного вчення марксизму. Структура та основні проблеми “Капіталу” Пізні наукові праці 42 KB
  Структура та основні проблеми Капіталу Пізні наукові праці . Теоретичні проблеми Капіталу К. Кілька рукописних варіантів Капіталу 1857 1865 Критика політичної економії До критики політичної економії другий та третій попередні варіанти Капіталу у вигляді нарисів та закінчених теоретичних викладок давно були готові до друку однак Маркс намагався надати цьому твору характеру вичерпної логічно закінченої теорії. Однак вихід у світ одночасно всіх томів Капіталу не пощастило забезпечити: праця тривала надалі а...
73914. Маржинальна революція: австрійська школа “граничної корисності” (К. Менгер, Ф. Візер, О. Бьом-Баверек). Принципи економікс А. Маршалла 36.5 KB
  Маржинальна революція : австрійська школа граничної корисност К. Її теоретичними принципами були субєктивний ідеалізм та теорія граничної корисності. Центральне місце в концепціях австрійської школи посідає так звана теорія граничної корисності.Візер розвивав ідеї Менгера у працях Походження й основні закони господарської цінності 1884 Природна цінність 1889 Закон влади 1926 використовуючи принцип граничної корисності для оцінки вартості витрат виробництва.
73915. Релігія та демократія: конгруенція і конфлікт 35 KB
  За Андерсоном демократія може варіюватися проте в своїй основі вона повинна мати такі складові як рівність влада народу участь всіх конкуренція згода і в випадках ліберальної демократії захист прав меншинств та окремих індивідів. Якщо не пояснювати йдеться про політичну економічну соціальну рівність чи рівність можливостей то дана характеристика не може бути надійним покажчиком демократії. Щодо інших індикаторів демократії то вони також на мою думку є досить суперечливими проте за браком місця не будемо їх розглядати. Скажемо...