Цель работы
Цель работы: изучение работы с видеосистемой в текстовом режиме, освоение приемов использования цветовой палитры: изменение цвета символов и фона на всем экране и в отдельном окне.
Задание
Составить программу для вывода текста различными цветами на различных фонах. Создать окно в среде ДОС с координатами (15,10,65,20), в котором также повторить вывод. Вывод текста организовать на английском языке, с интервалом в 1,4 секунды с шагом в 1 строку по направлению вниз.
Порядок выполнения работы
В соответствии с блок-схемой, приведенной на рисунке 1, занесли текст программы, приведенный на рисунке 2.
Для запуска программы необходимо подключить следующие библиотеки:
dos.h
conio.h
Трансляция и построение исполняемого файла. Результаты работы приведены на рисунке 3.
Delay (1400) |
Delay (1400) |
window(15,10,65,20) |
Delay (1400) |
Delay (1400) |
Delay (1400) |
Delay (1400) |
Delay (1400) |
Рисунок 1. Блок-схема алгоритма.
BACKGROUND %2d SYMBOLS COLOR: WHITE |
gotoxy(5,i+3) |
Delay (1400) |
Delay (1400) |
Delay (1400) |
#include <conio.h>
|
|
#include <dos.h>
void main()
{
int i;
union REGS in,out;
textbackground(RED);
textcolor(WHITE);
clrscr();
gotoxy(28,6);
cprintf(" BACKGROUND - RED ");
delay(1400);
textbackground(BLUE); clrscr();
gotoxy(28,6); cprintf(" BACKGROUND - BLUE ");
delay(1400);
textbackground(CYAN); clrscr();
gotoxy(28,6); cprintf(" BACKGROUND - CYAN ");
delay(1400);
window(15,10,65,20);
textcolor(BLACK);
textbackground(GREEN);
clrscr();
gotoxy(17,2); cprintf(" BACKGROUND - GREEN ");
delay(1400);
clrscr();
textcolor(BLUE);
textbackground(GREEN);
cprintf(" ------------------------------------------------\r\n");
cprintf(" BACKGROUND - GREEN SYMBOLS - BLUE \r\n");
cprintf(" ------------------------------------------------");
delay(1400);
window(15,10,65,20); textcolor(0);
textbackground(BLUE); clrscr();
gotoxy(17,2); cprintf(" WINDOW BACKGROUND BLUE ");
delay(1400);
clrscr();
textbackground(BLUE);
textcolor(BLACK);
textcolor(128);
cprintf(" ------------------------------------------------\r\n");
cprintf(" BACKGROUND - BLUE SYMBOLS BLACK \r\n");
Рисунок 2. Код программы.
cprintf(" ------------------------------------------------");
delay(1400);
clrscr();
textcolor(WHITE);
for(i=0;i<8;i++)
{
gotoxy(5,i+3);
textbackground(i);
cprintf(" BACKGROUND %2d SYMBOLS COLOR: WHITE \r",i);
delay(1400);
}
gotoxy(10,2);
cprintf(" STARTING 10h... ");
delay(1400);
in.h.ah=0x08;
in.h.al=0x01;
in.h.bh=0x49;
in.h.ch=0x09;
in.h.cl=0x0E;
in.h.dh=0x0A;
in.h.dl=0x3F;
int86(0x10,&in,&out);
gotoxy(10,1);
cprintf(" 10h COMPLETED! ");
delay(5000);
}
Рисунок 2 (продолжение). Код программы.
Рисунок 3. Результат выполнения программы.