18.02.2013 Views

NCURSES ile Yazılım Geli¸stirme NASIL

NCURSES ile Yazılım Geli¸stirme NASIL

NCURSES ile Yazılım Geli¸stirme NASIL

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!