Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемОльга Барсукова
1 Консольний обмін даними Обмін інформацією з користувачем завдяки введенню даних з клавіатури та відображенню результатів виконання програми на екрані монітора називають консольним введенням/виведенням даних. Бібліотека системи Borland C містить набір функцій, які надають користувачеві додаткові можливості щодо керування формою відображення інформації на екрані та способом введення даних з клавіатури. Прототипи всіх функцій консольного введення/виведення інформації оголошені в заголовному файлі.
2 Керування консольним виведенням текстової інформації Всі функції консольного виведення інформації можна поділити на шість груп: – встановлення заданого текстового режиму: textmode(); – встановлення атрибутів символів: textcolor(), textbackground(), textattr(), highvideo(), lowvideo(), normvideo(); – формування текстових вікон та роботи з вікнами: window(), clrscr(), gettextinfo(), gettext(), puttext(), movetext();
3 – виведення символів, рядків і числових данних: putch(), cputs(), cprintf(); – редагування тексту у вікні екрана: clreol(), delline(), insline(); – керування текстовим курсором: gotoxy(), wherex(), wherey(), _setcursortype(); Стандартні текстові режимивідеоадаптерів: – 25 рядків по 40 символів – режими 0 та 1 – 25 рядків по 80 символів – режими 2, 3 та 7 – 50 рядків по 80 символів – режими 64 Основним є режим номер 3.
4 Змінити текстовий режим можна функцією: void textmode (int tmode); Параметр tmode можна задавати числовим значенням номеру режиму або іменованою константою (BW40 – режим 0, C40 – режим 1, …. ). Усі режими, крім 7, кольорові та дають змогу відтворювати символи з використанням 16-колірної палітри. Зміна режиму повязана з очищенням відеопамяті – попереднє зображення витирається, відновлюються встановлені на момент запуску програми атрибути символів, курсор переводиться в позицію (1, 1).
5 Встановлення атрибутів символів Кожен символ екрана (знакомісце) займає у відеопамяті 2 байта: молодший містить ASCII-код символу, а старший – атрибути символа. Структура байта атрибутів і призначення кожного біта: 0..2 – колір символа; 3 – яскравість кольору символа; 4..6 – колір фону; 7 – яскравість фона/ефект блимання. Стандартно встановлюється світло-сірий колір символів і чорний колір фону (байт атрибутів )
6 Кольори можуть задаватись числовими значеннями або константами ( які оголошені в ): 0 – BLACK, 1 – BLUE, 2 – GREEN, …, 15 - WHITE Зміна кольору символів здійснюється функцією void textcolor (int color); Якщо додати до значення кольору константу BLINK (її значення 128), то символи на екрані блиматимуть. Встановлення кольору фону: void textbackground (int bkcolor); Стандартна палітра кольорів фону обмежена значеннями від 0 до 7.
7 Зміна всього байта атрибутів: void textattr (int sattr); Приклад: textattr (YELLOW | BLUE << 4 | BLINK); встановиться жовтий колір символів, синій колір фону та підключиться ефект блимання. Яскравістю символів керують наступні функції: – void highvideo (void); – void lowvideo (void); – void normvideo (void);
8 Формування текстових вікон Активним вікном називають прямокутну область екрана, в межах якої здійснюється поточне виведення текстових повідомлень. Для активізації текстового вікна призначена функція void window ( int left, int top, int right, int bot ); Параметри задають позицію лівого верхнього кута ( left - горизонтальна, top - вертикальна координати ) та знакомісце правого нижнього кута вікна. Координати вказуються відносно початку екрана (1, 1). Наступні операції виведення відображатимуть інформацію в межах вікна.
9 (1, 1) (80, 25) Відкриття екрана не очищує його. Щоб звільнити вікно від попередніх даних і зафарбувати поточним кольором фону, використовують функцію void clrscr (void); Для створення вікна виділеного рамкою виконують такі дії: виводять рамку вікна в повноекранному режимі, потім відкривають вікно всередині рамки.
10 Для формування рамки використовують символи псевдографіки. Інформацію про параметри активного вікна можна отримати через функцію void gettextinfo (struct text_info * winf); У результаті виклику функції заповнюється структура (оголошена в ) з інформацією про поточні параметри вікна: координати, атрибути символів позиція текстового курсору та відеохарактеристики.
11 Виведення тексту у вікно екрана Консольне виведення здійснюється в межах активного вікна. У разі досягнення правої межі вікна виведення тексту продовжується з початку наступного рядка. Коли текст виходить за нижню праву межу вікна, відбувається автоматичний вертикальний скролінг. Виведення окремного символа у поточну позицію здійснює функція int putch (int ch); Виведення символьного рядку int cputs (const char * str );
12 Приклад – кожен символ рядка функція відображає іншим кольором, а колір фону встановлює інверсним до кольору символа. void OutColorText (char * text) { char *ps = text; int col = 0; /*колір символів*/ while ( *ps ! = `\0`) { textcolor (col); textbackground (~col); /*інверсний колір фону*/
13 putch (*ps++); if (++col >15) /*зміна кольору*/ col = 0; } putch (`\r`); /*перехід на початок*/ putch (`\n`); /*нового рядка*/ } Форматне виведення даних int cprintf (const char * format, … ) є аналогом бібліотечної функції printf (). Ця функція ( як і cputs() не переводить курсор на початок наступного рядка).
14 Редагування рядків вікна Функції що працюють з рядками активного текстового вікна: void clreol (void); – витирає вміст частини рядка починаючи від поточної позиції курсору до правої межі текстового вікна void delline (void); – видаляє рядок активного вікна, на якому в даний момент розміщений курсор. Всі наступні рядки зсуваються на угору. void insline (void); – вставляє порожній рядок. Всі наступні зсуваються вниз. Якщо останній рядок виходить за межі вікна, він втрачається.
15 Керування текстовим курсором void gotoxy ( int col, int row ); – переміщує курсор у задану позицію активного вікна int wherex (void); int wherey (void); – повертає поточні горизонтальну та вертикальну координати курсору void _setcursortype (int cform); – встановлює тип курсору. Параметр cform може приймати значення: 0 – невидимий курсор 1 – високий курсор 2 – звичайний курсор
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.