Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
1. Panellere eklenecek pencereler olu¸sturulur (newwin() <strong>ile</strong>)<br />
2. Görünme sırasına göre paneller olu¸sturulur. Görünmesi istenen sıraya göre bir yı˘gıt olu¸sturulur. Yeni panel<br />
olu¸sturmak için new_panel() i¸slevi kullanılır.<br />
3. Panelleri ekrana do˘gru görüntülenme sırasıyla yazmak için update_panels() i¸slevi kullanılır. Görüntülenmelerini<br />
sa˘glamak için ise doupdate() i¸slevi kullanılır.<br />
4. Panelleri düzenlemek için show_panel(), hide_panel(), move_panel() v.b. i¸slevler kullanılır.<br />
panel_hidden() ve panel_window() gibi yardımcı i¸slevlerden yararlanılır. Bir panelin kullanıcı<br />
göstericisini belirtmek ve bilgi almak için set_panel_userptr() ve panel_userptr()<br />
i¸slevleri kullanılır.<br />
5. Panel kullanımı bittikten sonra del_panel() <strong>ile</strong> panel silinir.<br />
Bazı programlar <strong>ile</strong> konuyu açıklı˘ga kavu¸sturalım. A¸sa˘gıda 3 tane üst üste çalı¸san panel olu¸sturup bunları<br />
ekranda gösteren bir program bulunmaktadır.<br />
16.2. Panel Kütüphanesi <strong>ile</strong> derleme<br />
Panel kütüphanesi i¸slevlerini kullanabilmek için panel.h ba¸slık dosyası programa dahil edilmeli ve programı<br />
panel kütüphanesi <strong>ile</strong> ilintili derlemek için –lpanel –lncurses seçenekleri kullanılmalıdır.<br />
#include .<br />
.<br />
.<br />
derleme ve ilint<strong>ile</strong>me: gcc program dosyası –lpanel –lncurses<br />
Örnek 14. Panellerin temelleri<br />
#include <br />
int main()<br />
{ WINDOW *my_wins[3];<br />
PANEL *my_panels[3];<br />
int lines = 10, cols = 40, y = 2, x = 4, i;<br />
initscr();<br />
cbreak();<br />
noecho();<br />
/* Paneller için pencereler olu¸sturun */<br />
my_wins[0] = newwin(lines, cols, y, x);<br />
my_wins[1] = newwin(lines, cols, y + 1, x + 5);<br />
my_wins[2] = newwin(lines, cols, y + 2, x + 10);<br />
/*<br />
* Pencereler etrafında çerçeve olu¸sturun<br />
* böylece Panel etk<strong>ile</strong>rini görebilirsiniz<br />
*/<br />
for(i = 0; i < 3; ++i)<br />
box(my_wins[i], 0, 0);<br />
/* Her pencereyi bir panele ba˘glayın. Sıralama alttan üste do˘gru */<br />
my_panels[0] = new_panel(my_wins[0]); /* 0’a it, sıra: stdscr–0 */<br />
http://belgeler.org Linux Kitaplı˘gı 39 / 90