Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)


 

 

 

 



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



Turbo С включает большой набор функций ввода-вывода информации в окно экрана. Прототипы этих функций поме­щены в заголовочном файле <conio.h>. В отличие от функций стандартного ввода-вывода они позволяют управлять цветом выводимых символов и не пересекают пределы активного в данный момент окна. При достижении правой вертикальной границы курсор автоматически переходит на начало следую­щей строки в пределах окна, а при достижении нижней гори­зонтальной границы выполняется скроллинг окна вверх (об инициализации окна см. в 8.3).

#include <conio.h>

Void clreol(void)

Стирает в текстовом окне строку, на которую установлен курсор, начиная с текущей позиции курсора и до конца строки (до правой вертикальной грани­цы окна).

#include <conio.h>

Void clrscr(void)

Очищает все текстовое окно. Цвет "заливки" окна при очистке будет соот­ветствовать значению, установленному символической переменной attribute в описании окна (структурная переменная по шаблону text_info). Функции уп­равления цветом фона и символа описаны далее.

 

#include <conio.h>

Void delline(void)

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

#include <conio.h>

Void insline( void)

 

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

#include <conio.h>

int cprintf( const char *format,...)

Выполняет вывод информации с преобразованием по заданной форматной строке, на которую указывает format. Является аналогом функции стандартной библиотеки printf (), но выполняет вывод в пределах заданного окна. В отличие от printf () функция cprintf () иначе реагирует на специальный символ '\n': кур­сор переводится на новую строку, но не возвращается к левой границе окна. Поэтому для перевода курсора на начало новой строки текстового окна следует вывести последовательность символов CR-LF (0x0d, 0x0a). Остальные специ­альные символы воздействуют на курсор так же, как и в случае функций стан­дартного ввода-вывода. Функция возвращает число выведенных байтов, а не число обработанных полей, как это делает функция printf () .

#include <conio.h>

int cputs(const char *str)

Выводит строку символов в текстовое окно, начиная с текущей позиции курсора. На начало выводимой ASCIIZ-строки указывает str. Является анало­гом функции стандартной библиотеки puts (), но выполняет вывод в пределах заданного окна и при выводе не добавляет специальный символ '\n'. Реакция cputs() на специальный символ '\n' аналогична реакции cprintf(): курсор пере­водится на новую строку, но не возвращается к левой границе окна. Поэтому для перевода курсора на начало новой строки текстового окна следует вывести последовательность символов CR-LF (0x0d, 0x0a). Остальные специальные сим­волы воздействуют на курсор так же, как и в случае функций стандартного ввода-вывода. Функция возвращает ASCII-код последнего выведенного на экран символа. В отличие от puts() в функции отсутствует возврат символа EOF. Другими словами, вывод происходит на экран в любом случае.

#include <conio.h>

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

 

Переносит окно, заданное координатами левого верхнего (left, top) и пра­вого нижнего (right, bottom) углов, в другое место на экране, заданное коорди­натами левого верхнего угла нового положения окна. Размеры окна по горизонтали и вертикали сохраняются. Все координаты задаются относительно координат верхнего левого угла экрана (1,1). Функция возвращает ненулевое значение, если перенос заданного окна выполнен. В противном случае возвра­щается 0. Функция корректно выполняет перекрывающиеся переносы, т.е. пе­реносы, в которых прямоугольная область-источник и область, в которую окно переносится, частично покрывают друг друга.

#include <conio.h>

Int putch(int ch)

Выводит символ в текущей позиции текстового окна экрана. Как и для функций cprintf(), cputs(), специальный символ ‘\n' вызывает только переход курсора на следующую строку текстового окна без возврата к его левой верти­кальной границе. Остальные специальные символы воздействуют на курсор так же, как и для функций стандартного ввода-вывода.

#include <conio.h>

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

Выводит на экран текстовое окно, заданное координатами левого верхнего (left, top) и правого нижнего (right, bottom) углов. Символы и атрибуты располагаются в буфере, адрес начала которого задает указатель source. Другими словами, фун­кция "открывает" (восстанавливает) текстовое окно экрана. Обычно используется вместе с функцией gettext(), выполняющей обратную операцию - запись в буфер source символов/атрибутов, полностью описывающих все знакоместа текстового окна. Функция проверяет по заданным координатам окна, можно ли построить окно на экране для текущего режима видеоадаптера и корректны ли эти коорди­наты. В случае, когда окно успешно выведено, возвращается ненулевое значение.

#include <conio.h>

Void highvideo (void)

Void lowvideo (void)

Void normvideo (void)

 

Функции задают соответственно использование повышенной, пониженной и нормальной яркости для последующего вывода символов на экран через фун­кции файла <conio.h>. Влияют на атрибут символа.

 

Описываемые далее функции управляют атрибутом сим­вола. Как отмечено в 8.2, атрибут задает битами 0-2 код цвета символа, бит 3 определяет повышение яркости, биты 4-6 за­дают код цвета фона символа, бит 7 определяет наличие или отсутствие мерцания символа. Turbo С дает возможность за­дать атрибут полностью либо задать только цвет символа или фона. Цвета могут задаваться либо числом, либо с использо­ванием символических констант, значения которых опреде­ляет перечислимый тип COLORS:

 

Enum COLORS { /* Цвета нормальной яркости: */
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 */}

Яркие цвета могут задаваться только цвету символа. Кроме того, 7-й бит (бит мерцания) может быть задан как непосредст­венно в коде байта атрибута, так и с использованием символиче­ской константы BLINK, определяемой как 128 в <conio.h>. Следу­ет отметить тот факт, что если для цвета фона выбираются цвета с кодами 8-15, это устанавливает в единицу бит мер­цания символа в байте атрибута.

#include <conio.h>

Void textattr(int newattr)

Устанавливает атрибут для функций, работающих с текстовыми окнами. Ат­рибут хранится в поле attribute структурной переменной по шаблону text_info, доступной через функцию gettextinfo(). Задаваемый атрибут может быть или числом, например 0x70 - атрибут инверсного изображения (черные символы на свет­ло-сером фоне), или формироваться из символических констант, значения кото­рых задает тип COLORS. Например, для задания мерцающих ярко-красных символов на сером фоне атрибут можно сформировать следующим образом:

BLINK | (BLACK << 4) | LIGHTRED

Тот же результат может быть получен и так:

(DARKGRAY << 4)| LIGHTRED

#include <conio.h>



Просмотров 748

Эта страница нарушает авторские права




allrefrs.su - 2025 год. Все права принадлежат их авторам!