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.

8.5. wattr i¸slevleri<br />

<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />

Yukarıdaki her bir i¸sleve kar¸sılık gelen ve belli pencere üzerinde çalı¸san ’w”li i¸slevler de vardır. Yukarıdaki i¸slevler<br />

stdscr üzerinde çalı¸sır.<br />

8.6. chgat() i¸slevleri<br />

chgat() i¸slevi, curs_attr kılavuz sayfalarının sonunda listelenmi¸stir. Aslında faydalı bir i¸slevdir. Belli karakterlere<br />

hareket etmeden öznitelikleri kazandırmak için kullanılabilir. ˙Imleci hareket ettirmeden !!! demek istedim<br />

:–). O anki imleç konumundan itibaren belirt<strong>ile</strong>n sayıdaki öznitelik de˘gi¸stir<strong>ile</strong>bilir.<br />

Karakter sayısı olarak –1 vererek satır sonuna kadar güncelleyebiliriz. O anki konumdan satır sonuna kadar<br />

öznitelikleri de˘gi¸stirmek için sadece ¸sunu kullanın:<br />

chgat(–1, A_REVERSE, 0, NULL);<br />

Bu i¸slev halihazırda ekranda olan karakterlerin özniteliklerini de˘gi¸stirmek için faydalıdır. De˘gi¸stirmek istedi˘giniz<br />

karaktere konumlanın ve özniteli˘gini de˘gi¸stirin.<br />

wchgat(), mvchgat(), wchgat() i¸slevleri de belirt<strong>ile</strong>n pencere üzerinde çalı¸smaları dı¸sında benzerdir.<br />

mv i¸slevleri önce imleci hareket ettirip daha sonra kend<strong>ile</strong>rine ver<strong>ile</strong>n i¸si yapar. Aslında chgat, wchgat()<br />

i¸slevinin pencere parametresi olarak stdscr’yi aldı˘gı duruma bir makrodur. Pekçok "w’siz" i¸slev aslında birer<br />

makrodur.<br />

Örnek 6. chgat() Kullanım Örne ˘gi<br />

#include <br />

int main(int argc, char *argv[])<br />

{ initscr(); /* Curses kipine ba¸slama */<br />

start_color(); /* Renk özelli˘gi etkin */<br />

}<br />

init_pair(1, COLOR_CYAN, COLOR_BLACK);<br />

printw("Yazmaya üsendigim oldukça uzun bir dizge ");<br />

mvchgat(0, 0, –1, A_BLINK, 1, NULL);<br />

/*<br />

* ˙Ilk iki parametre ba¸slangıç konumunu<br />

* üçüncü parametre güncellenecek karakter sayısını belirtir.<br />

* –1 satır sonuna kadar demektir.<br />

* Dördüncü parametre karaktere kazandırmak istedi˘giniz özniteliktir<br />

* Be¸sincisi renk indisidir. init_pair() sırasında ver<strong>ile</strong>n indistir.<br />

* Renk istemiyorsanız 0 kullanın.<br />

* Altıncısı her zaman NULL de˘gerdir.<br />

*/<br />

refresh();<br />

getch();<br />

endwin(); /* Curses kipi sonu */<br />

return 0;<br />

Bu örnek aynı zamanda curses dünyasının renk kullanımını da göstermektedir. Renkler konusu daha sonra<br />

(sayfa: 27) ayrıntılı olarak açıklanacaktır. Renkli görüntü istemiyorsanız 0 kullanın.<br />

9. Pencereler<br />

http://belgeler.org Linux Kitaplı˘gı 22 / 90

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

Saved successfully!

Ooh no, something went wrong!