Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/30: Рейтинг темы: голосов - 30, средняя оценка - 4.53
Искусственный интеллект
 Аватар для NQUARE
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1

Как сделать TUI?

09.10.2020, 22:02. Показов 7542. Ответов 47
Метки c++, tui (Все метки)

Студворк — интернет-сервис помощи студентам
Вечер добрый.
Хочу сделать программу на C++ с простейшим TUI, как в bios. На ncurses, просто в консоле как VIM например. Как это сделать на винде?
Гугл ни чего годного не говорит. Cygwin + ncurses тоже не вариант.
Помогите пожалуйста, буду ооочень признателен).
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2020, 22:02
Ответы с готовыми решениями:

Библиотека для TUI
День добрый. Подскажите, пожалуйста, существует ли библиотека, основанная на curses (ncurses, pdcurses...), для создания TUI...

Как отладить TUI приложение?
привет всем, У меня есть TUI приложение под solaris. Когда я его запускаю под отладчиком, TUI окно захватывает консоль и я не могу...

TUI и Delphi
Подскажите с чего начать разработку программы с TUI интерфейсом. Цель: написать что-то вроде эмулятора терминала. Нужен только сам...

47
Искусственный интеллект
 Аватар для NQUARE
112 / 82 / 34
Регистрация: 26.08.2020
Сообщений: 590
Записей в блоге: 1
14.10.2020, 21:08  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от politoto Посмотреть сообщение
NQUARE, а как Вы используете curses ?
Можно взглянуть на примеры программ ?
Вы уверены что хотите это увидеть?

Добавлено через 4 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Если просто красить текст и двигать курсор то проще написать самому написать.
Ну не совсем. Довольно много графики, менюшек, настоек.

Добавлено через 50 секунд
Цитата Сообщение от politoto Посмотреть сообщение
Но интереснее, конечно, сделать самому.
Да, мне очень интересно. Но как? На WinAPI?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
14.10.2020, 21:22
Цитата Сообщение от NQUARE Посмотреть сообщение
Ну не совсем. Довольно много графики, менюшек, настоек.
А что curses есть прям менюшки?
Как бы эти вещи можно через покраску и изменение позиции делать.

Добавлено через 1 минуту
Цитата Сообщение от NQUARE Посмотреть сообщение
Да, мне очень интересно. Но как? На WinAPI?
Ну очень примерно так https://github.com/Avazart/Bic... /Console.h
1
 Аватар для COKPOWEHEU
4135 / 2713 / 433
Регистрация: 09.09.2017
Сообщений: 12,046
15.10.2020, 00:10
Цитата Сообщение от Avazart Посмотреть сообщение
В Linux-е по сути ничего делать не нужно.
Как раз в линуксе можно при желании найти терминал на любой извращенный вкус.
Хотя, говорят, с WSL2 и под виндой появились вменяемые терминалы.
Цитата Сообщение от Avazart Посмотреть сообщение
politoto, А через pint() или cout ?
А какая разница? Терминалу главное чтобы в него передали символы \033, '[', $(последовательность) а уж чем программа ее генерировать будет это ее, программы, дело
Цитата Сообщение от Avazart Посмотреть сообщение
Как бы эти вещи можно через покраску и изменение позиции делать.
можно, но это уже тот уровень где управление окошками все же удобнее совсем низкоуровневых извратов
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.10.2020, 11:08
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
можно, но это уже тот уровень где управление окошками все же удобнее совсем низкоуровневых извратов
Я об этом изначально и говорил.
Ведь все эти менюшки в консоли это нечто среднее между обычной консолью и GUI приложением.
Какое достоинство GUI? - наглядность и удобство.
Какое достоинство консоли? - простота и главное возможность автоматизации.
(вызывать одну программу через другую управлять ей, перенаправлять потоки в/в)
А у такого типа приложения с консольными менюшками вроде как и до GUI не дотягивает и возможность автоматизации утеряна.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А какая разница? Терминалу главное чтобы в него передали символы \033, '[', $(последовательность) а уж чем программа ее генерировать будет это ее, программы, дело
Тут я не уверен.
0
 Аватар для COKPOWEHEU
4135 / 2713 / 433
Регистрация: 09.09.2017
Сообщений: 12,046
15.10.2020, 15:18
Цитата Сообщение от Avazart Посмотреть сообщение
Тут я не уверен.
Надеюсь, вы не подразумеваете всякие извращенские способы вывода, которые перемежают данные с каким-то своим мусором?
Консоль будет реагировать на последовательность байтов stdout'а, а откуда они там взялись не ее дело. Вы можете их вбить на клавиатуре, можете захардкодить printf'ами или cout'ами, можете сгенерировать curses'ом, можете принять по tty. Если они попали к эмулятору терминала без искажений, он их отработает.
Собственно, на этом ведь работа ESC-последовательностей и построена. Через терминальную линию (еще ту, аппаратную, на RS232) можно передавать только байты. Давайте выделим какой-то неиспользуемый байт как флаг начала извращения служебной последовательности. А куда деваться, мы же не можем управлять терминалом через вызов волшебных функций setConsole*.
0
Модератор
2131 / 1000 / 170
Регистрация: 23.07.2018
Сообщений: 3,349
Записей в блоге: 3
15.10.2020, 17:52
Какое достоинство консоли? - простота и главное возможность автоматизации.
(вызывать одну программу через другую управлять ей, перенаправлять потоки в/в)
Чтобы перенаправлять ввод/вывод и вызывать одну программу из другой эмулятор терминала не нужен.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.10.2020, 18:02
Цитата Сообщение от politoto Посмотреть сообщение
Чтобы перенаправлять ввод/вывод и вызывать одну программу из другой эмулятор терминала не нужен.
А что тогда нужно?
0
 Аватар для COKPOWEHEU
4135 / 2713 / 433
Регистрация: 09.09.2017
Сообщений: 12,046
15.10.2020, 19:36
Интерпретатор командной строки
Вы ведь можете перенаправить ввод-вывод в скрипте. Эмулятор терминала не запускается, а вот интерпретатор - другое дело.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2020, 19:36

Как сделать передвижение квадрата в Unity 2d Как сделать так что бы он двигался как в игре Read BAll 4
Помогите с передвижением квадрата в Unity 2d Как сделать так что бы он двигался как в игре Read BAll 4. Чтобы получается он перекатывался....

Как сделать задание я вообще не знаю как его сделать, если сделаете, скиньте архивом пожалуйста)
Как сделать задание я вообще не знаю как его сделать, если сделаете, скиньте архивом пожалуйста))) Разработать приложение, которое...

В упор не понимаю как сделать столкновение персонажа с объектами. Как мне это сделать?
//Source.cpp #include <SFML/Graphics.hpp> #include <iostream> #include <string> #include "map.h" using namespace sf; using...

Как сделать,у меня сервер обычная XP,как мне правильно сделать так,что бы некоторые компы отрезать от инета,но не от базы данных(К+ и 1С и т.п)
Система токая,инет идет на модем,с модема идет на хаб,с хаба на всех??? какой прогой лучше воспльзываться?? если есть возможнасть то...

Как сделать перемещение нескольких файлов с заменой? И как это сделать проще?
Как сделать перемещение нескольких файлов с заменой? Например я ввожу в текстбокс название файлов, потом эти файлы переношу в...


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

Или воспользуйтесь поиском по форуму:
48
Ответ Создать тему
Новые блоги и статьи
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её. Всё это стресс конечно. Почему?. . .
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот. Ларри Уингет
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru