Форум программистов, компьютерный форум CyberForum.ru

Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой) - C++

Восстановить пароль Регистрация
 
Alexanraaa
0 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 17
06.01.2013, 20:32     Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой) #1
Пожалуйста подскажите, как сделать вывод всех цветов фона, разделяя цвета паузой.
Задание: Дополнить меню функциональной клавишей F6: вывод в окно 1 всех цветов фона, разделяя цвета паузой. На окно нанести рамку.
Вот, что у меня только есть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <windows.h>
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
void main()
{   char ch; int i, num=1;
        int x1=21, y1=1, x2=32, y2=10;          
        int pause = 1000;
    textbackground(BLACK); // демонстрация окон на черном фоне
        gotoxy(20, 24);  // курсор в позицию экрана х=20, y=24
        cprintf("В окна можно вводить символы с клавиатуры.");
        gotoxy(20, 25);  // следующая строка:
        cprintf("Выход из программы: кл _F7 или кл_Esc");
    clrscr();
    window(1, 1, 15, 11);  // окно меня в верхнем левом углу экрана
    textbackground(BLUE); // цвет фона окна меню
    textcolor(YELLOW); // установка цвета символов для всех окон
    clrscr(); 
        // Вывод надписей пунктов меню в окне меню:
    gotoxy(2, 3); printf(" F6 - window_1");
    gotoxy(2, 5); printf(" F7 - exit");
    _setcursortype(_NOCURSOR); //убрать курсор из окна меню
    do
    {   ch = getch();
        if (ch == '\0')  
        {   ch = getch(); 
            switch (int(ch))  // в этот блок попадаем при нажатии одной из двух клавиш: F6, F7 
            {
            case 64: // F1 - изображение окна_1:
            {
                                window(x1, y1, x2, y2);
                                clrscr();
                                 _wscroll = 0;
 
                                 for (i = 0; i <= (x2-x1); i++)
                                  putch('Д');
                                 gotoxy(3, 1); cprintf("%d",num);
                                 gotoxy(1, y2-y1+1);
                                 for (i = 0; i <= (x2-x1); i++)
                                  putch('Д');
                                 for (i = 2; i <= (y2-y1); i++)
                                  { gotoxy(1, i); putch('і');
                                  gotoxy(x2-x1+1, i); putch('і');
                                        }
                                 gotoxy(1, 1); putch(218);
                                 gotoxy(x2-x1+1, 1); putch('ї'); 
                                 gotoxy(x2-x1+1, y2-y1+1); putch('Щ');
                                 gotoxy(1, y2-y1+1); putch('А');
 
                                 _wscroll = 1;
                                 window(++x1, ++y1, --x2, --y2);
 
                _setcursortype(_NORMALCURSOR); // установить курсор
                                textattr(0x7);
                                textbackground(BLUE);
                                window(22, 2, 31, 9);
                clrscr(); break; }
            case 65: exit(0);  // выход из программы
            }// конец switch
        }   // конец if в части  < then >
        else putch(ch); // вывод символов в выбранное окно 
    }
    while ( int(ch) != 27 ); // код клавиши Esc
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2013, 20:32     Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой)
Посмотрите здесь:

C++ Изменение цвета текста и фона при консольном выводе
C++ Работа с экраном в текстовом режиме
Изменение цвета текста и фона в консольном приложении C++
C++ Работа с экраном в текстовом режиме
C++ РАБОТА С ЭКРАНОМ В ГРАФИЧЕСКОМ РЕЖИМЕ
C++ Изменение цвета букв и фона в консоле
C++ Создание игр в текстовом режиме
вывести сообщение если пиксель RGB цвета не попал в диапазон нужных цветов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexanraaa
0 / 0 / 1
Регистрация: 02.10.2012
Сообщений: 17
11.01.2013, 23:00  [ТС]     Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сама разобралась)))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <dos.h>
#include <windows.h>
 
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
void main()
{   char ch; int i, num=1;
        int x1=21, y1=1, x2=32, y2=10;          // window(22, 1, 32, 10);
    textbackground(MAGENTA); // демонстрация окон на малиновом фоне
        gotoxy(20, 24);  // курсор в позицию экрана х=20, y=24
        cprintf("В окно можно вводить символы с клавиатуры.");
        gotoxy(20, 25);  // следующая строка:
        cprintf("Выход из программы: кл _F7 или кл_Esc");
    clrscr();
    window(1, 1, 15, 11);  // окно меню в верхнем левом углу экрана
    textbackground(RED); // цвет фона окна меню 
    textcolor(YELLOW); // установка цвета символов для всех окон 
    clrscr(); // установка заданных выше атрибутов окна меню 
        // Вывод надписей пунктов меню в окне меню:
    gotoxy(2, 2); printf(" F6 - window_1");
    gotoxy(2, 4); printf(" F7 - exit");
    _setcursortype(_NOCURSOR); // убрать курсор из окна меню
    do
    {   ch = getch();
        if (ch == '\0')   //то код расширенный
        {   ch = getch(); // и считывается второй символ расширенного                       кода
            switch (int(ch))  // В этот блок попадаем при нажатии 
                                        // одной из двух клавиш: F6, F7 
            {
            case 64: // F1 - изображение_1:
            {       window(x1, y1, x2, y2);
                                clrscr();
                                 _wscroll = 0;
                                 for (i = 0; i <= (x2-x1); i++)
                                  putch('Д');//вывод строки в активное окно
                                 gotoxy(3, 1); cprintf("%d",num);
                                 gotoxy(1, y2-y1+1);
                                 for (i = 0; i <= (x2-x1); i++)
                                  putch('Д');
                                 for (i = 2; i <= (y2-y1); i++)
                                  { gotoxy(1, i); putch('i');
                                  gotoxy(x2-x1+1, i); putch('i');
                                        }
                                 gotoxy(1, 1); putch(218);
                                 gotoxy(x2-x1+1, 1); putch('ї ');
                                 gotoxy(x2-x1+1, y2-y1+1); putch('Щ');
                                 gotoxy(1, y2-y1+1); putch('А');
 
                                 _wscroll = 1;
                                 window(++x1, ++y1, --x2, --y2);
 
                                window(22, 2, 31, 9);
                                for(int i=0; i<8; i++)
                                {textbackground(i);clrscr();sleep(1);}
                                 break; }
            case 65: exit(0);  // Выход из программы
            }// конец switch
        }   // конец if в части  < then >
    }
    while ( int(ch) != 27 ); // код клавиши Esc
}
Yandex
Объявления
11.01.2013, 23:00     Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой)
Ответ Создать тему
Опции темы

Текущее время: 09:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru