Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие ВТ (31.03.).doc
Скачиваний:
4
Добавлен:
09.11.2019
Размер:
429.06 Кб
Скачать

Текст № 7

Иногда возникает необходимость выключить курсор. Для этого можно просто позиционировать курсор за пределы экрана. К сожалению, функция Gotoxy() не позволяет вывести курсор за пределы текущего окна, в том числе за пределы окна, имеющего границы всего экрана. Поэтому программа должна непосредственно обращаться к функции 2 прерывания 10h, осуществляющей позиционирование курсора в абсолютную позицию экрана. В регистр АН микропроцессора нужно записать номер функции, в регистр ВН – номер активной видеостраницы (видеопамять может иметь несколько страниц, но на экран выводится одна из них, активная в данный момент), в регистр DН – номер строки, в регистр DL – номер столбца позиции курсора. Причем, в MS DOS номера строк экрана изменяются от 0 (верхняя) до 24 (нижняя), а позиции в строке – от 0 (левая) до 39 или 79 (правая). Ниже приводится текст функции, предназначенной для вывода курсора за пределы экрана:

/*Функция для выключения курсора*./

void out cursor (void);

_AH=2;

_BH=0;

_DH=25;

_DL=0;

geninterrupt(0*10);

В Си псевдопеременные _AH, _BH, _DH, _DL, соответствуют регистрам микропроцессора АН, ВН, DН, DL. Вызов данной функции осуществляется оператором программы out cursor ().

Выключить курсор можно также с помощью функции 1 прерывания 10h, которая устанавливает размер курсора. В регистре СН задается номер начальной (верхней) строки в матрице символа, а в регистре СL – номер конечной (нижней) строки для курсора. При этом, если в СН занести значение 20h, то курсор станет невидимым.

Слова і словосполучення

  • текущее окно - поточне вікно

  • имеющий - який має

  • приводится текст - наводиться текст

  • псевдопеременные - псевдозмінні

  • матрица - матриця

  • осуществляться - здійснюватися

  • в регистр - до регістру (перелік); до регістра (пристрій)

Текст № 8

Для вывода одного символа сh на экран в позицию, занимаемую I курсором, используется функция #include<conio.h> Int putch(int ch); например: putch(‘Q’).

Вывод осуществляется либо прямо в видеопамять, либо с помощью функций ВIOS, в зависимости от значения глобальной переменной Си directvideo, которая объявлена в файле conio.h. Если directvideo имеет значение 1, то выполняется прямая запись в видеопамять. Если же directvideo=0, то вывод осуществляется посредством функций ВIOS (заметно медленнее). По умолчанию directvideo равно 1. Функция putch() при успешном завершении возвращает выведенный символ, а при ошибке возвращается ЕОF. Для вывода строки символов str применяется функция

#include<stdio.h>

Int cputs(const char *str);

например: cputs("Для выхода нажмите ЕSС").

К выводимой строке не присоединяется символ перехода на новую строку. Строка выводится напрямую в видеопамять, если directvideo=1, или при помощи вызова ВIOS, если directvideo=0. Причем, в отличие от функции puts, функция cputs не преобразует символ перевода строки \n в последовательность возврата каретки/перевода строки \r\r. Функция cputs возвращает последний выведенный символ.