Ввод текстовой информации на экран

Средства BIOS располагают следующими функциями вывода на экран.

1) АН = 09 h – вывод символа с заданным атрибутом в текущей позиции курсора.

2) АН = 0А h – вывод символа без атрибута в текущей позиции курсора.

3) АН = 0Е h – вывод символа без атрибута в текущей позиции курсора в режиме "телетайп".

4) АН = 13h – вывод строки символов с различными дополнительными операциями, со сдвигом курсора и без сдвига, с определением атрибута для всей строки, для каждого символа или без определения атрибута.

Самой удобной является функция АН = 09h. При ее выполнении выводимый символ помещается в регистр AL, а атрибут символа в регистр BL. Регистр ВН задает номер текущей страницы, а СХ – число повторений для выводимого символа.

Пример вывода на экран символа а находящегося в строке с номером stroka и столбце с номером stolbec приведен в виде функции

Wyw (void)

{ /* позиционирование курсора */

_АН =0Х02;

_ДН = stroka;

_ДL = stolbec;

_BH = page;

geninterrupt (0X10);

/* вывод символа на экран */

_AH = 0X09 h;

_AX = 'a'

_BX = attr;

_CX = 1;

geninterrupt (0X10):}

С использованием функции языка Си эта программа имеет вид

# include <conio.h>

wyw (void)

{int stroka, stolbec;

goto (stolbec, stroka);

putch ('a'):}

В этой программе вывод символа на экран осуществляет функция putch (). Кроме названной язык Си имеет следующие функции вывода:

# include <conio.h>

int cputs (const char * str)

Выводит строку символов в текстовое окно, начиная с текущей позиции курсора

# include <conio.h>

int cprintf (const char * format, …)

Осуществляет вывод в текстовое по определенному формату.

Обе приведенные функции являются аналогами соответственно puts () и printf ().

Только в данном случае для перевода курсора в начало новой строки следует вывести последовательность символов CR_LF (0X0d, 0x0a)

# include <conio.h>

int movetext (int left, int top, int right, int bottom, int destleft, int desttop)

переносит окно с координатами левого верхнего (left, top) и правого нижнего (right, bottom) углов в другое место, заданное координатами верхнего угла (destleft, desttop).

# include <conio.h>

int puttext (int left, int top, int right, int bottom, void * souru)

выводит на экран текстовое окно, заданное координатами левого верхнего (left, top) и правого нижнего (right, bottom) углов. Символы и атрибуты находятся в буфере, адрес начала которого задает указатель souru.

Напомним, что буфер – это часть оперативной памяти, выделенной для экрана

# include <conio.h>

void highvideo (void);

void lowvideo (void);

void normvideo (void); -

Функции задают использования соответственно повышенной, пониженной и нормальной яркости вывода символов.

# include <conio.h>

void cercol (void) –

стирает строку, начиная с текущей позиции курсора.

# include <conio.h>

void cerser (void)

очищает все текстовое окно.

# include <conio.h>

стирает всю строку текста, на которую установлен курсор.

# include <conio.h>

void insline (void)

оставляет пустую строку в текущей позиции курсора со сдвигом всех остальных строк на одну строку вниз

# include <conio.h>

void textattr (int newattr).

Устанавливает атрибут для функций, работающих с текстовыми окнами. Например, для задания мерцающих ярко-красных символов на сером фоне атрибут можно сформулировать следующим образом

BLINK /(BLACK <<4)/ LIGHTRED

Или

(DARKGRAY <<4)/ LIGHTRED

# include <conio.h>

void textcolor (int newcolor).

задает цвет символов, не затрагивая цвета фона

# include <conio.h>

void text backgraund (int newcolor).

Задает цвет фона, не затрагивая цвет символа.

Цвета задаются числом или константой.

В таблице приведены константы и коды цветов в языке Си.

Таблица 101. Цвета в языке Си.

Символическая константа Значение в 10 С/С Цвет на экране
BLACK BLUE GREEN CYAN RED MAGENTA BROWN LIGHTGRAY DARKGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE   Черный Синий Зеленый Сине-зеленый Красный Красно-синий Коричневый Светло-серый Темно-серый Ярко-синий Ярко-зеленый Яркий сине-зеленый Ярко-красный Яркий красно-синий Желтый Белый

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: