Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Для новичков > красивый вывод в консоль |
Автор: cupper 15.3.2011, 23:09 | ||
Нужно распечатать в консоль список данных. По определенным параметрам та или иная строка данных должна быть окрашена определенным цветом. В установкой цвета уже разобрался. Не могу разобраться вот с чем: строка консоли в данной задачи это вся область (высотой в одну буку) от левого до правого края консоли. Это необходимо для того что бы цветные строки выглядели красиво, а не так: одна длинней другой. Проблема в том как определить число символов которой может быть напечатано в строке консоли, что бы сделать правильное выравнивание с помощью setw. В винде оно может и без этих вые*онов работает, а вот в лине
будет закрашена только та область строки консоли в которой присутствует текст. Поэтому нужно выравнивать строку по средством setw, на для этого нужно знать сколько символов может быть записано в строке консоли. И это нужно сделать и для win и для linux. Подскажите. |
Автор: bsa 17.3.2011, 13:13 |
стаднартного метода нет. http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/ |
Автор: cupper 18.3.2011, 17:16 | ||||
Сделал так
правда под линь пока не успел проверить. Так же не большой код для такпо форматированному выводу (плсю цветной текст)
|
Автор: cupper 29.3.2011, 15:15 | ||
Все в эту же тему. У меня на окно консоли происходит вывод информации с одновлением. Т.е. некая таблица, которая по заданому времени пересчитывается и должа быть пересчитана, и собственно новуе данне нужно отобразить на консоли. Сейчас я делаю так, перед выводом новой таблицы отчищая консоль и вывожу ее по новой
но сильно заметно как консоль мерцает. Как можно избежать этого мерцания ? |
Автор: Alca 29.3.2011, 15:23 | ||
Может так? Не факт:
Добавлено @ 15:23 http://lifeforce4.wordpress.com/ |
Автор: bsa 29.3.2011, 15:47 |
cupper, а не надо очищать консоль. Надо просто полностью перерисовать экран. В т.ч. и пустые места. |
Автор: cupper 29.3.2011, 16:26 | ||
если вы намекнете как это сделать вы возможно спасете меня от создание GUI ![]() |
Автор: cupper 29.3.2011, 16:47 | ||||
работает, моргания и вовсе не заметно даже при обновлении с интервалом в 100мс. Но как я понял оно действует по тому же принципу. Т.е. убирает текст косноли в верх. Задача несколько изменилась. У меня данных может быть больше чем строк в консоли тогда механизм скрола будет кхм, ужасен. |
Автор: cupper 29.3.2011, 18:27 | ||||
ну а все же ? Qt из за лиценции не подойдет. Gtk еще нужно разобраться как это там сделать. Ну по сути если встанет задача что нужно именно GUI оно и будет сделано, изначально требования были просты - консольное приложение. |
Автор: bsa 29.3.2011, 21:15 |
А ты ее читал? Уверен, что "где-то когда-то слышал, что коммерческие программы на ее основе делать нельзя". Я прав? Так вот, начиная с версии 4.5 (если память не изменяет), Qt поставляется под лицензией LGPL, которая позволяет делать закрытое ПО. |
Автор: borisbn 29.3.2011, 21:36 |
cupper, опиши, если не секрет, в двух словах свою ситуацию с лицензированием. Просто интересно, под какие задачи/требования не подходит LGPL... |
Автор: cupper 30.3.2011, 08:54 | ||
под коммерческий проект с закрытым исходным кодом ? Возможно я и ошибаюсь ( я просто где то случайно это увидел), суть то не в этом. Не я решаю что использовать. |
Автор: borisbn 30.3.2011, 08:56 |
без проблем. тогда другое дело |