Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/121: Рейтинг темы: голосов - 121, средняя оценка - 4.77
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Цветной вывод в консоли (обсуждение кода розы)

06.04.2013, 17:21. Показов 22635. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обсуждение кода разноцветного вывода в консоли.
Изначальный код: 1) роза, 2) функция печати (1 любой цвет на 1 строку)

Еще примеры.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2013, 17:21
Ответы с готовыми решениями:

Цветной текст в консоли
#include <stdio.h> #include <conio.h> using namespace std; int main(void) { textbackground(BLUE); textcolor(LIGHTGRAY); ...

Цветной текст в консоли С++
В общем, нужно сделать цветной вывод в консоль С++ на Windows, при этом не меняя цвет фона символов, те если у пользователя фон консоли...

Цветной текст в консоли Ubuntu
Хочу выводить информационыые сообщения, просто сообщения и ошибки в консоли разным цветом. Это гораздо удобнее чем пользоваться всякими...

38
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 17:23  [ТС]
 Комментарий модератора 
Часть сообщений выделена из темы: Сломал полосу прокрутки


Вот здесь я эти настройки менял через реестр с одновременно программным перезапуском консоли с новыми параметрами:
Весна :)
(м.б. будет интересно).
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 17:24
Спасибо! Понял, что такое размер буфера

Добавлено через 1 минуту
Цитата Сообщение от Dragokas Посмотреть сообщение
Вот здесь я эти настройки менял через реестр с одновременно программным перезапуском консоли с новыми параметрами:
Ага, я голову ещё над этим скриптом ломал, пытаясь понять как это работает
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 17:47  [ТС]
Да, буфер - это сколько консоль может одновременно запомнить строк и столбцов, до которых можно потом добраться прокруткой.
Удобно ставить большие значения для буфера строк, чтобы потом анализировать вывод сложных (длинных) скриптов.

Добавлено через 16 минут
Цитата Сообщение от FraidZZ Посмотреть сообщение
Ага, я голову ещё над этим скриптом ломал, пытаясь понять как это работает
Там я значения статически выставил в виде 16-ричного числа в реестре.
Здесь:
Code
1
2
3
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"ScreenBufferSize"=dword:3e80051
"WindowSize"=dword:0038004e
При этом данные параметры кодируют одновременно и ширину, и высоту:
4e -> 78 (ширина окна)
38 -> 56 (высота окна)
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 17:50
Цитата Сообщение от Dragokas Посмотреть сообщение
Там я значения статически выставил в виде 16-ричного числа в реестре.
Меня не совсем это интересовало. Я не понял суть - почему консоль выводит цветной текст. Хотя способ понял
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 18:04  [ТС]
Билли: - Как это может быть, но ведь так нельзя, я же консоль не для этого разрабатывал...
ххх: - Но ведь это работает !!!


Попробуй ввести команду:
Bash
1
findstr /A:0D "x86" "c:\windows\*"
и поймешь как я это сделал, и откуда взялось паразитное двоеточие.
Скажу больше - эта команда на столько глючная.
Даже удалось найти у нее заложенную внутри кода echo без точки, и вывести эту всем известную ошибку:
Bash
1
2
echo  >s
findstr /V /a:0d "1" "*"
Пробовал добавлять ключ /M, а оно взяло и обесцветило имя файла. В идеале хотел добиться, чтобы и в одной строке можно было разными цветами печатать, но не судьба. Максимум, что выжал - в полезных скриптах.
2
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 19:26
А я обошел проблему с двоеточием.
Код:
Bash
1
2
3
4
5
@echo off
echo.◘ >ILIKESPB
findstr /V /A:FC "1" "ILIKESP*"
del ILIKESPB
pause>nul
Добавлено через 1 минуту
Там, где стоит &#9688 на самом деле символ BackSpace (Alt+8). Именно +8, а не +08.
Работал в AkelPad
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 20:09
Да, цветной вывод - это прикольно
Миниатюры
Цветной вывод в консоли (обсуждение кода розы)  
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 20:13  [ТС]
omg, круто.
Не догадался так сделать.

Еще была проблема - закрасить фоном всю строку (пробелами).
Пробелы то я могу создать в конце имени файла через \\.\ , а вот findstr некорректно воспринимает такое имя.
UPD. Сообразил этим же методом обходится: Нужно поставить 2 символа BackSpace.
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 20:20
Цитата Сообщение от Dragokas Посмотреть сообщение
UPD. Сообразил этим же методом обходится: Нужно поставить 2 символа BackSpace
Куда?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 20:41  [ТС]
Ну допустим, создаешь файл с именем "КУЧА ПРОБЕЛОВ длинной в ширину консоли + в конце любой символ (буква, например).

Содержимое файла - 2 знака BackSpace.
В выводе FindStr получаем:
ПРОБЕЛЫ СИМВОЛ :
- 2 BackSpace =
Только ПРОБЕЛЫ
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 20:42
Mission Accomplete (Смотри вложение)
Миниатюры
Цветной вывод в консоли (обсуждение кода розы)  
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 20:42  [ТС]
Только наверное все равно придется резервировать буфер колонок + 2 от ширины консоли,
а то будет "перепрыг" на новую строку.

Mission Accomplete (Смотри вложение)
А какое имя файла? - пробелы с концевым символом в расширении файла?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 20:54
Цитата Сообщение от Dragokas Посмотреть сообщение
Содержимое файла - 2 знака BackSpace.
В выводе FindStr получаем:
ПРОБЕЛЫ СИМВОЛ :
- 2 BackSpace =
Только ПРОБЕЛЫ
Ага, только в конец файла нужно ещё два пробела добавить, т.к BackSpace не стирают символы, а переводят каретку назад. А символы добавятся в цветах командной строки.

Добавлено через 27 секунд
Цитата Сообщение от Dragokas Посмотреть сообщение
Только наверное все равно придется резервировать буфер колонок + 2 от ширины консоли,
а то будет "перепрыг" на новую строку.
Ага

Добавлено через 3 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
А какое имя файла? - пробелы с концевым символом в расширении файла?
Нет, в самом файле один лишь символ BackSpace. В этом случае findstr, как самая глючная команда винды не переводит курсор. Но надо иметь ввиду, что в этом случае запись следующей строки пойдет поверх двоеточия предыдущей.

Добавлено через 5 минут
Ну а имя файла "FraidZZ.txt"
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 20:57  [ТС]
Цитата Сообщение от FraidZZ Посмотреть сообщение
т.к BackSpace не стирают символы, а переводят каретку назад. А символы добавятся в цветах командной строки.
понял. Не стирается, а просто переходит на 1 символ левее, затем затирается символом пробела из файла.
Причем пробел рисуется цветом фона консоли? - Эт не очень хорошо, если нужно рисовать другим цветом фона.
Но зато, имеем возможность в одной строке выводить инфу 2 цветами шрифта - 1-й любой, 2-й цвет mode con.
Интересно, есть ли символ перевода каретки вперед (обратная операция от BackSpace).

Добавлено через 2 минуты
Цитата Сообщение от FraidZZ Посмотреть сообщение
Ну а имя файла "FraidZZ.txt"
задача у меня была другим фоновым цветом закрасить целую строку (пробелами).
Ну, похоже, вариант из поста № 13 с этим справится.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 20:59
Цитата Сообщение от Dragokas Посмотреть сообщение
Интересно, есть ли символ перевода каретки вперед (обратная операция от BackSpace).
Не видел :-(
Space затирает
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 21:07
Но зато, имеем возможность в одной строке выводить инфу 2 цветами шрифта - 1-й любой, 2-й цвет mode con.
Я же на картинке показал, что можно больше
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 21:12  [ТС]
Интересно, надо будет написать какую-нибудь удобную функцию печати двухцветкой.
Перевод вперед не понадобится
Можно перейти назад печатнуть нужные символы другим цветом, потом на еще больше число символов вернуться назад и т.д. Т.е. было 11111111111, наши простые варианты - 11111111112222222.
Ну а функция будет делать так: 111112221111222211111222 ...
Эх, 2 цвета хорошо. Красиво бы было больше в одной строке.

Добавлено через 1 минуту
Цитата Сообщение от FraidZZ Посмотреть сообщение
Я же на картинке показал, что можно больше
дык, > 2 цветов в 1 строке
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5240 / 2114 / 416
Регистрация: 06.01.2013
Сообщений: 4,845
06.04.2013, 21:20
Да хоть пять в одной
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18025 / 7728 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.04.2013, 21:23  [ТС]
FraidZZ, "...Show me the code". Принцип не увидел. Хочу...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2013, 21:23
Помогаю со студенческими работами здесь

Ввод данных в консоли и вывод одной строкой кода
Здравствуйте, помогите мне сделать вывод текста + сразу readline Я делал так: Console.WriteLine ("Введите чему равен А...

Организация кода, вывод строки в консоли, использование extern
Windows 7, Visual Studio 2013. В проекте файлы:// TestCpp.h using namespace std; extern settings set; bool TestCpp() { ...

Стираемый/цветной текст в консоли. Нужна консультация!
Добрый вечер! У меня есть 2 вопроса: 1. Нужно как-то вывести текст в консоль, который потом можно изменять. Т.е. вывели "Прогресс:...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »