Главная страница

Лекции. Основные понятия и определения


Скачать 1.94 Mb.
НазваниеОсновные понятия и определения
Дата27.03.2018
Размер1.94 Mb.
Формат файлаdocx
Имя файлаЛекции.docx
ТипКонтрольные вопросы
#39570
страница48 из 58
1   ...   44   45   46   47   48   49   50   51   ...   58

16.1. Ввод/вывод и манипулирование


В отличие от аналогичных функций передачи данных потоком все описанные ниже функции работают в пределах активного окна.
Ввод

int cscanf(...); Аналогично функции scanf.

int getch( ); Чтение символа с клавиатуры без отображения на экран.

int getche( ); То же с отображением с отображением символа на экране.

char* cgets(char*); Аналогично функции gets.
Вывод

int cprintf(...); Аналогично функции printf.

int putch(int); Аналогично функции putchar.

int cputs(char*); Аналогично функции puts.
Манипулирование цветом и курсором

void clrscr( ); Очистить текущее окно и установить курсор в его левый верхний угол(координаты 1, 1).

void gotoxy(int x, int y); Установить курсор в окне в точку с координатами (x,y). Если обращение к ней некорректно, то оно игнорируется.

Пример.

gotoxy(50, 15); Если правый нижний угол окна расположен в ячейке с координатами (35, 25), то действие не выполняется.

int gettext( int left, int top, int right, int bottom, void *mem); Запомнить содержимое окна с координатами углов(left, top, right, bottom) в области памяти по адресу mem.

int puttext (int left, int top, int right, int bottom, void *mem); Восстановить окно.

int movetext(int left, int top, int right, int bottom, int new_left, int new_top); Скопировать область экрана в новое место.

Возвращаемое значение всех трех функций: 1 – в случае успеха, 0 – при неудаче. Функции gettext, puttext и movetext работают в абсолютных координатах экрана. Hеобходимый объем памяти для хранения содержимого окна: 2*h*w байтов, где h - ширина окна в позициях, w - высота его в строках.

Замечание. Все функции работают только с консолью(экраном). Их называют функциями консольного ввода-вывода.

16.2. Управление окном


void window(int left, int top, int right, int bottom); Описывает окно с абсолютными координатами. При некорректных аргументах выполнение игнорируется. Никаких внешних действий на экране не происходит!!!

16.3. Управление атрибутом (цветами символа и фона в окне)


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

void textcolor(int color); Цвет символа кодируется целыми значениями из диапазона [0-15].

Пример. textcolor(RED); // Красный цвет

void textbackground(int color); Цвет фона. Диапазон [0-7].

void textattr(int attr); Одновременное установка цветов символа и фона.

Структура памяти под аргумент attr побитно имеет вид:

7 6 5 4 3 2 1 0

B b b b f f f f ffff – символ, bbb – фон, B – мерцание.

Пример.

textattr(BLACK+(RED<<4)); // Черный символ на красном фоне

Замечания.

1. Все функции этого пункта только устанавливают цветовой режим, но окраску содержимого окна не производят. Это делают последующие за ними функции консольного ввода-вывода.

16.4. Информация о текстовом режиме


void gettextinfo(struct text_info *ptr);

Структура text_info определена в файле coniow.h и имеет вид:

struct text_info{

unsigned short winleft, wintop, winright, winbottom; //Текущее окно

unsigned short attribute, normattr; //Текущий атрибут

unsigned short currmode; //Текстовый режим

unsigned short screenheight, screenwidth; // Размеры экрана

short curx, cury; // Координаты курсора в окне

}
1   ...   44   45   46   47   48   49   50   51   ...   58


написать администратору сайта