• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak ustawić stałe położenie znaków w terminalu?

0 głosów
311 wizyt
pytanie zadane 6 lipca 2015 w C i C++ przez Kapitan Nowicjusz (210 p.)
Witam, zalogowałem się, bo chciałem się dowiedzieć, w jaki sposób można ustawić w aplikacji konsolowej w C++ stałe położenie liter (po to żeby np zrobić menu)?
Chodzi mi dokładnie o coś takiego jak Mirek zademonstrował w filmie: https://www.youtube.com/watch?v=_V7a1Gwuj5k

jest to widoczne np w 33:53

Bardzo fajnie widać zawartość listy w kolorze zielonym.

Jedyne co mi przychodzi do głowy to funkcja tego typu:

    void gotoxy(int x, int y)//funkcja przyjmuje wspolrzedne
    {
      COORD c;
      c.X = x;
      c.Y = y;
      SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
    }

Być może jest lepszy sposób?

1 odpowiedź

+1 głos
odpowiedź 6 lipca 2015 przez MrWeb Stary wyjadacz (10,180 p.)
Jeśli piszesz pod Windowsowy cmd to masz do wyboru conio.h lub windows API czyli właśnie SetConsoleCursorPosition itd.

Konsola windows nie wspiera tzw "escape sequence" czyli specjalnych znaków do ustawiania koloru czcionki, tła, pozycji kursora i innych efektów.

Natomiast wszystkie linuxowe terminale jak gnome-terminal xterm itd w pełni obsługują ten standard więc wystarczy wygooglować "VT100 key codes" albo "escape sequence".

Podobne pytania

0 głosów
0 odpowiedzi 670 wizyt
0 głosów
0 odpowiedzi 144 wizyt
0 głosów
0 odpowiedzi 265 wizyt
pytanie zadane 15 stycznia 2020 w C i C++ przez PirchHD Obywatel (1,730 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...