Студенти часто скаржаться на необхідність використання функції gotoxy з бібліотеки windows.h. І вони мають на це право, адже хоча ця функція надзвичайно потужна, вона є і дуже складною в застосуванні. Здається, що з її допомогою можна навіть відтворювати відео, але це надзвичайно важко впровадити. Тому я вирішив створити бібліотеку TUI, яка дозволить розробникам більше зосереджуватись на логіці програми, а не на вирішенні проблем з інтерфейсом — підрахунком пікселів, місцями для виведення, тим, як показати чи приховати елементи тощо.
Моя бібліотека підтримує три основні види вікон підказок та кілька функцій для покращення їх використання:
- Вибір підказки: ця функція дозволяє відобразити список варіантів для вибору користувачем, а потім повертає індекс вибраного варіанту.
- Вхідна підказка: дозволяє створити вікно, в яке користувач може вводити дані. Вікно оновлюється автоматично, щоб залишатися чутливим до змін.
- Попередження підказка: ця функція дає можливість попередити або повідомити користувача. Підказка закривається натисканням клавіші Enter.
Існують також невізуальні функції:
- Приховати курсор: дозволяє приховати миготливий курсор, щоб він не дратував користувача.
- Чекати натискання Enter: ця функція зупиняє виконання програми до того часу, поки користувач не натисне клавішу Enter, даючи йому достатньо часу для перегляду виведених даних.
Я додав кілька зображень і гіфок, щоб показати, як працює кожна з цих функцій:
Вікно вибору підказки
Вікно вводу підказки
Вікно попередження підказки
Робочий приклад у гіфці
Завдяки цим функціям ви навіть можете створити програму, що повністю виключає використання простого вікна з printf
.
Ви можете знайти робочі приклади та пояснення коду на моїй сторінці GitHub!
Дякую за увагу! Буду радий, якщо ви поставите зірочку!
Перекладено з: How I Created a Minimal C TUI Library