Mam do zrobienia metodę w klasie text() tak jakby pole w którym można w konsoli wpisać tekst.
Pole to ma mieć np długość 10. Chodzi o to, że pojawia się w konsoli ramka np w kolorze niebieskim o długości 10 i tam możemy wpisywać coś. Musi działać też obsługa strzałek i Backspace i po naciśnięciu Esc metoda ma zwrócić ten tekst. Czyli jak w mainie będzie string a=text(); to do a ma się zapisać ten ciąg znaków o długości 10
Jak się do tego zabrać.
użyj ncurses
a ncurses nie jest w linuxie, a dla windowsa trzeba specjalnie pobierać? Muszę zrobić program który będzie działał dla każdego bez pobierania bibliotek.
Może źle napisałem o tej ramce. Chodzi o ramkę stworzoną z jakiegoś koloru tła. Chciałem zrobić np tablice char o długości 10 i na starcie wpisać tam spacje i wtedy pojawia się puste tło o długości 10. Jak w tym przypadku zrobić wczytywanie tekstu? Myślałem coś o tym że jak wpisze się jakiś znak to on wpisuje się w to miejsce i reszta idzie tak jakby o 1 pole do przodu i ostatni znak znika.
W takim razie pobaw się z sekwencjami kolorów w konsoli: https://stackoverflow.com/questions/2048509/how-to-echo-with-different-colors-in-the-windows-command-line
ale to mi tylko tło zmieni, a ja nie wiem jak zabrać się do edycji tekstu
Możesz ustawiać kursor w oknie konsoli.
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setcursorpos