A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Következő változat | Előző változat | ||
oktatas:linux:programozas_ncurses_koenyvtarral [2019/08/16 21:29] admin létrehozva |
oktatas:linux:programozas_ncurses_koenyvtarral [2020/05/12 21:09] admin [NCurses] |
||
---|---|---|---|
Sor 3: | Sor 3: | ||
====== NCurses ====== | ====== NCurses ====== | ||
* **Szerző:** Sallai András | * **Szerző:** Sallai András | ||
- | * Copyright (c) Sallai András, 2003, 2015 | + | * Copyright (c) Sallai András, 2003, 2015, 2020 |
* Licenc: GNU Free Documentation License 1.3 | * Licenc: GNU Free Documentation License 1.3 | ||
* Web: http://szit.hu | * Web: http://szit.hu | ||
Sor 109: | Sor 109: | ||
- | Normál terminál meghajtó addig raktározza el a leütött karaktereket, amíg egy kocsi vissza vagy egy új sor karaktert nem ütünk. Csak azután férhetünk hozzá a leütött karakterekhez. Ezt nevezzük sorszerkesztő üzemmódnak. Azonban szükség lehet egy program megírásánál azokra a karakterekre, amint azt leütötte a felhasználó. Két funkcióval szakítható meg a karakterek elraktározása, amelyek a következő vezérlőbillentyűkkel érhetők el: Ctrl + Z (megszakítás), Ctrl + C (kilépés). A cbreak() függvény meghívása kikapcsolja a sorszerkesztő üzemmódot, így a leütött karaktert azonnal felhasználhatjuk. A raw() ugyancsak letiltja a sorszerkesztő üzemmódot, viszont a függvény hatására a szignálok küldése is tiltva lesz. Tehát a Ctrl + C hatására a program nem kapja meg a kilépés szignált, helyette a Ctrl + C billentyűkombinációt adja vissza. | + | Normál terminál meghajtó addig raktározza el a leütött karaktereket, amíg egy kocsi vissza vagy egy új sor karaktert nem ütünk. Csak azután férhetünk hozzá a leütött karakterekhez. Ezt nevezzük sorszerkesztő üzemmódnak. A programozó néha, a leütött billentyűket azonnal szeretné elkapni, még kocsi vissza vagy új sor karakter bevitele nélkül. |
+ | |||
+ | |||
+ | Két funkcióval szakítható meg a karakterek elraktározása, amelyek a következő vezérlőbillentyűkkel érhetők el: Ctrl + Z (megszakítás), Ctrl + C (kilépés). A cbreak() függvény meghívása kikapcsolja a sorszerkesztő üzemmódot, így a leütött karaktert azonnal felhasználhatjuk. A raw() ugyancsak letiltja a sorszerkesztő üzemmódot, viszont a függvény hatására a szignálok küldése is tiltva lesz. Tehát a Ctrl + C hatására a program nem kapja meg a kilépés szignált, helyette a Ctrl + C billentyűkombinációt adja vissza. | ||
===== echo() és noecho() ===== | ===== echo() és noecho() ===== | ||
Sor 239: | Sor 242: | ||
==== mvaddch() ==== | ==== mvaddch() ==== | ||
- | + | Egyetlen karaktert ír a képernyőre, de itt meg kell adni hova akarjuk kiírni. Valójában a move() függvény van beépítve. Például, ha az ötödik sor, tizedik oszlopába akarom kiíratni az 'a' karaktert, akkor azt így tehetem meg: | |
- | Egyetlen karaktert ír a képernyőre, de itt meg kell adni hova akarjuk kiírni, azaz az oszlop és sor pozícióját is. Valójában a move() függvény van beépítve. Például, ha az ötödik sor, tizedik oszlopába akarom kiíratni az 'a' karaktert, akkor azt így tehetem meg: | + | |
mvaddch(5, 10, 'a'); | mvaddch(5, 10, 'a'); | ||
- | waddch() | + | |
+ | ==== waddch() ==== | ||
Egyetlen karaktert ír a képernyőre, azonban egy ablakhoz is hozzárendeljük a kiírást. | Egyetlen karaktert ír a képernyőre, azonban egy ablakhoz is hozzárendeljük a kiírást. | ||
Sor 249: | Sor 253: | ||
Pl.: | Pl.: | ||
waddch(ablak, 'A'); | waddch(ablak, 'A'); | ||
- | mvwaddch(); | + | |
+ | ==== mvwaddch() ==== | ||
Egyetlen karakteret ír a képernyőre. Meg kell adnunk melyik ablakba akarunk írni, és az adott ablak milyen pozíciójába. | Egyetlen karakteret ír a képernyőre. Meg kell adnunk melyik ablakba akarunk írni, és az adott ablak milyen pozíciójába. | ||
Sor 255: | Sor 260: | ||
Pl.: | Pl.: | ||
mvwaddch(ablak, 5, 5, 'A'); | mvwaddch(ablak, 5, 5, 'A'); | ||
- | printw() | + | |
+ | ==== printw() ==== | ||
Fentebb már találkoztunk vele. Formázott adatkivitelt tesz lehetővé, mint a szabványos printf(). Ugyanúgy kell használni mint a printf() függvényt. Például: | Fentebb már találkoztunk vele. Formázott adatkivitelt tesz lehetővé, mint a szabványos printf(). Ugyanúgy kell használni mint a printf() függvényt. Például: |