[[: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