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 />
Genelde w’siz i¸slevler, kar¸sılık gelen w’li i¸slevlere pencere de˘gi¸skeni olarak stdscr aktarılan makrolardır.<br />
6. Çıktı i¸slevleri<br />
Sanırım artık biraz hareket görmek için bekleyemiyorsunuz. Curses i¸slevlerimizle olan uzun ve serüvenli yolculu˘ga<br />
geri dönelim. Artık curses ilklendirildi haydi onla oynayalım.<br />
Ekrana çıktılama i¸slemleri için kullanab<strong>ile</strong>ce˘giniz üç sınıf i¸slev bulunmaktadır.<br />
1. addch() sınıfı: Tek bir karakteri öznitelliklerle yazar<br />
2. printw() sınıfı: printf()’e benzer biçimlendirilmi¸s çıktı sa˘glar<br />
3. addstr() sınıfı: Dizgelerin yazar<br />
Bu i¸slevler birbirleri yerine kullanılabilir. Hangi sınıfı kullandı˘gınız tamamen bir tarz meselesidir.<br />
6.1. addch() sınıfı i¸slevler<br />
Bu i¸slevler imlecin bulundu˘gu konuma tek bir karakter yazar ve imleç konumunu <strong>ile</strong>rletir. Görüntülenecek karakteri<br />
i¸sleve verebilirsiniz, fakat genelde bir karakteri belli bir görüntüleme özelli˘gi <strong>ile</strong> ekrana yazarlar. Görüntüleme<br />
özellikleri, belgenin Öznitelikler (sayfa: 19) bölümünde ayrıntılı olarak anlatılmı¸stır. E˘ger bir karakter bir öznitelik<br />
(kalın, ters video v.b.) <strong>ile</strong> beraber kullanılırsa, curses karakteri belirt<strong>ile</strong>n öznitelik <strong>ile</strong> basar.<br />
Bir karakteri belli özniteliklerle ba˘gda¸stırmak isterseniz iki seçene˘giniz bulunmaktadır:<br />
• ˙Istenen öznitelik makrosunu tek bir karakter <strong>ile</strong> VEYA’lamaktır. Bu öznitelikler ncurses.h ba¸slık dosyası<br />
içerisinde bulunabilir. Örne˘gin bir krk karakterini (char türünde) koyu ve altı çizili olarak yazmak istiyorsanız,addch()’ı<br />
¸su ¸sekilde ça˘gırmalısınız:<br />
addch (krk | A_BOLD | A_UNDERLINE);<br />
• ˙Ikinci yöntemse attrset(), attron(), attroff() gibi i¸slevler kullanmaktır Bu i¸slevler Öznitelikler<br />
(sayfa: 19) bölümünde anlatılmı¸stır. Özetle, o anki pencerenin özniteliklerini de˘gi¸stirirler. Bir kere<br />
ayarlandılar mı, etkisiz kılınana kadar pencereye yazılan karakter bu özniteliklerle ekrana yazılır.<br />
Ek olarak curses, karakter tabanlı grafikler için bazı özel karakterler sunmaktadır. Tablolar, yatay veya dikey<br />
çizg<strong>ile</strong>r, v.b. çizebilirsiniz. Tüm kullanılabilir karakterleri ncurses.h ba¸slık dosyasında bulabilirsiniz. Bu dosya<br />
içerisindeki ACS_ <strong>ile</strong> ba¸slayan makrolara bakınız.<br />
6.2. mvaddch(), waddch() ve mvwaddch()<br />
mvaddch(), imleci ver<strong>ile</strong>n konuma hareket ettirir ve buraya yazar. Bundan dolayı ¸su ça˘grı,<br />
move(satır,sütun);<br />
/*imleci satırıncı satırın sütununcu sütununa hareket ettirir. */<br />
addch(krk);<br />
¸sununla yer de˘gi¸stir<strong>ile</strong>bilir:<br />
mvaddch(satır, sütun, krk);<br />
waddch() i¸slevi, verilmi¸s bir pencere içerisine karakter eklemesi dı¸sında addch() i¸slevine benzemektedir.<br />
(addch()’ın stdscr penceresine bir karakter ekledi˘gini unutmayın)<br />
Benzer ¸sekilde mvwaddch() i¸slevi de verilmi¸s olan koordinatlarda belirt<strong>ile</strong>n pencereye bir karakter eklemek<br />
için kullanılır.<br />
http://belgeler.org Linux Kitaplı˘gı 16 / 90