Laboratoriya ishi №19.
Mavzu: Ncurses (Konsolnoy GUI) va tcltk yordamida dasturlash.
Ishdan maqsad: Ncurses dasturlash kutubxonasi bilan ishlashni o’rganish. Tcl/Tk
uskunalari bilan ishlashni o’rganish.
Nazariy qism:
ncurses (new curses) dasturchiga dasturiy interfeysi (API)
beruvchi dasturlash
kutubxonasidir, bu dasturchiga matn asosida foydalanuvchi interfeyslarini terminaldan
mustaqil ravishda yozish imkonini beradi. "Terminal emulyatori ostida ishlaydigan"
GUI-o'xshash "dasturiy ta'minot ishlab chiqish uchun vosita.
Bundan tashqari,
masofadan terminallardan foydalanganda kechikishni kamaytirish uchun ekran
o'zgarishini ham optimallashtirib beradi.
Birinchi curses kutubxonasi Berkeleydagi
Kaliforniya Universitetida, BSD operatsion
tizimi uchun, 1980 yil Rogueni-matnli sarguzasht o'yinini qo'llab-quvvatlash
uchun
ishlab chiqilgan edi. Aslida, vi muharriri kabi boshqa dasturlarda ishlatilgan termcap
kutubxonasidan foydalanilgan. Uning curses kutubxonasining muvaffaqiyati Bell Labs-
ni System V Release 2 Unix tizimlarida rivojlangan curses
kutubxonasini chiqarishga
olib keldi. Ushbu kutubxona yanada kuchliroq va termcapdan foydalanish o'rniga
terminfo-dan foydalanilgan. Biroq, manba kodini taqsimlash bo'yicha AT & T siyosati
sababli, bu yaxshilangan kutubxona BSD jamoasida unchalik ham qabul qilinmadi.
Ncursesni o'rnatish
Nichurslarni o'rnatish oson. Buning uchun terminalni oching va yozing:
sudo apt-get install libncursesw5-dev
Shu bilan kutubxona o'rnatildi va endi biz kod yozishga tayyormiz.
Salom dunyo! (Hello world!)
Shunday qilib, ncurses dunyosiga xush kelibsiz.
Kutubxonaga kirishdan oldin,
butun dunyoga "Salom!" yozuvini chiqaradigan oddiy dastur yozamiz.
Men ncurses kutubxonasidan foydalanib, dasturlarni
kompilyatsiya qilishni
unutgan edim, siz boshlashdan avval -lncurses flagini o'rnatishingiz kerak:
gcc
-lncurses
Dastur kodi:
#include
int main ()
{
initscr (); // curses rejimiga o'tish
printw ("Salom dunyo!" \ n "); // "Salom ni buferda ko'rsatish
refresh(); // tabrikni haqiqiy ekranga ko'rsatish
getch (); // Istalgan tugmani foydalanuvchi tomonidan bosilishini kutish
endwin (); // curses rejimidan chiqish. Majburiy buyruq.
return 0;
}