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ő.
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:
#include <slang.h> 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
#include <slang.h> 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 (); }
#include <slang.h> 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 (); }
#include <slang.h> 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 (); }
#include <slang.h> 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 (); }