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

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

09.10.2020, 22:02. Показов 7247. Ответов 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
8488 / 6155 / 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
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
15.10.2020, 00:10
Цитата Сообщение от Avazart Посмотреть сообщение
В Linux-е по сути ничего делать не нужно.
Как раз в линуксе можно при желании найти терминал на любой извращенный вкус.
Хотя, говорят, с WSL2 и под виндой появились вменяемые терминалы.
Цитата Сообщение от Avazart Посмотреть сообщение
politoto, А через pint() или cout ?
А какая разница? Терминалу главное чтобы в него передали символы \033, '[', $(последовательность) а уж чем программа ее генерировать будет это ее, программы, дело
Цитата Сообщение от Avazart Посмотреть сообщение
Как бы эти вещи можно через покраску и изменение позиции делать.
можно, но это уже тот уровень где управление окошками все же удобнее совсем низкоуровневых извратов
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.10.2020, 11:08
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
можно, но это уже тот уровень где управление окошками все же удобнее совсем низкоуровневых извратов
Я об этом изначально и говорил.
Ведь все эти менюшки в консоли это нечто среднее между обычной консолью и GUI приложением.
Какое достоинство GUI? - наглядность и удобство.
Какое достоинство консоли? - простота и главное возможность автоматизации.
(вызывать одну программу через другую управлять ей, перенаправлять потоки в/в)
А у такого типа приложения с консольными менюшками вроде как и до GUI не дотягивает и возможность автоматизации утеряна.

Добавлено через 1 минуту
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
А какая разница? Терминалу главное чтобы в него передали символы \033, '[', $(последовательность) а уж чем программа ее генерировать будет это ее, программы, дело
Тут я не уверен.
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
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
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
15.10.2020, 18:02
Цитата Сообщение от politoto Посмотреть сообщение
Чтобы перенаправлять ввод/вывод и вызывать одну программу из другой эмулятор терминала не нужен.
А что тогда нужно?
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
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
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru