[[:oktatas:programozás:c|< C]] ====== Slang ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2015 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Bevezetés ===== Az slang egy többplatformos programozói könyvtárgyűjtemény. (Van ilyen programozási nyelv is). A konzol felhasználóbarát kezelését segíti elő, kurzor pozíciónálással, képernyőtörléssel, színezéssel, stb. Funkciójában a ncurses és conio könyvtári függvényekkel egyező. ===== Telepítés ===== Debian GNU/Linux alatt a telepítés egyszerű: apt-get install libslang2-dev Windows alatt le kell tölteni a weblapjáról és telepíteni: * http://www.jedsoft.org/slang ===== Helló Világ ===== #include main() { SLtt_get_terminfo(); SLang_init_tty(-1, 0, 0); SLsmg_init_smg(); SLsmg_write_string("Helló Világ!"); SLsmg_refresh(); SLsmg_reset_smg(); SLang_reset_tty(); } Az SLang használatához a slang.h fejállományok beillesztése szükséges. Fordításhoz a következő parancssori kapcsoló szükséges: -lslang ===== Várakozás billentyűnyomásra ===== #include main() { SLtt_get_terminfo (); SLang_init_tty (-1, 0, 0); SLsmg_init_smg (); SLsmg_write_string("Folytatáshoz nyomj egy billentyűt"); SLsmg_refresh(); SLang_getkey(); SLsmg_reset_smg (); SLang_reset_tty (); } ===== Képernyő és kurzor ===== #include main() { SLtt_get_terminfo (); SLang_init_tty (-1, 0, 0); SLsmg_init_smg (); SLsmg_write_string("Elso"); SLsmg_refresh(); SLang_getkey(); SLsmg_cls(); // Képernyő törlés SLsmg_gotorc(0,0); //Kurzor alaphelyzetbe SLsmg_write_string("Masodik"); SLsmg_refresh(); SLang_getkey(); SLsmg_reset_smg (); SLang_reset_tty (); } ===== UTF-8 használata ===== #include main() { SLtt_get_terminfo (); SLang_init_tty (-1, 0, 0); SLsmg_init_smg (); SLsmg_utf8_enable (1); SLtt_utf8_enable (1); SLsmg_write_string("Első"); SLsmg_refresh(); SLang_getkey(); SLsmg_cls(); // Képernyő törlés SLsmg_gotorc(0,0); //Kurzor alaphelyzetbe SLsmg_write_string("Második"); SLsmg_refresh(); SLang_getkey(); SLsmg_reset_smg (); SLang_reset_tty (); } ===== Sortörés kiíratásának bekapcsolása ===== #include main() { SLtt_get_terminfo (); SLang_init_tty (-1, 0, 0); SLsmg_init_smg (); SLsmg_utf8_enable (1); SLtt_utf8_enable (1); SLsmg_Newline_Behavior = SLSMG_NEWLINE_MOVES; SLtt_set_color(0,NULL, "green", "blue"); SLsmg_write_string("Első\n"); SLsmg_refresh(); SLang_getkey(); SLtt_set_color(0,NULL, "white", "red"); SLsmg_write_string("Első\n"); SLsmg_refresh(); SLang_getkey(); SLsmg_reset_smg (); SLang_reset_tty (); } ===== Több info ===== * http://www.jedsoft.org/slang/docs.html