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 />

mekanizmaya sahiptir. Basit bir program <strong>ile</strong> i¸slerin ayrıntılarına inelim.<br />

Örnek 9. Basit Bir Renk Örne ˘gi<br />

#include <br />

void print_in_middle(WINDOW *win, int starty, int startx,<br />

int width, char *string);<br />

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

{ initscr(); /* curses kipi ilklendirmesi */<br />

if(has_colors() == FALSE)<br />

{ endwin();<br />

printf("Uçbiriminiz renkleri desteklemiyor\n");<br />

exit(1);<br />

}<br />

start_color(); /* Renk ba¸slat */<br />

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

attron(COLOR_PAIR(1));<br />

print_in_middle(stdscr, LINES / 2, 0, 0, "Keman !!! Renkli ...");<br />

attroff(COLOR_PAIR(1));<br />

getch();<br />

endwin();<br />

}<br />

void print_in_middle(WINDOW *win, int starty, int startx,<br />

int width, char *string)<br />

{ int length, x, y;<br />

float temp;<br />

}<br />

if(win == NULL)<br />

win = stdscr;<br />

getyx(win, y, x);<br />

if(startx != 0)<br />

x = startx;<br />

if(starty != 0)<br />

y = starty;<br />

if(width == 0)<br />

width = 80;<br />

length = strlen(string);<br />

temp = (width – length)/ 2;<br />

x = startx + (int)temp;<br />

mvwprintw(win, y, x, "%s", string);<br />

refresh();<br />

Görüdü˘günüz üzere renkleri kullanabilmeniz için öncelikle start_color() i¸slevini ça˘gırmalısınız. Bundan<br />

sonra de˘gi¸sik i¸slevler kullanarak uçbiriminizin renk yeteneklerini kullanabilirsiniz. Bir uçbirimin renk özniteliklerinin<br />

olup olmadı˘gını anlamak için has_colors() i¸slevini kullanabilirsiniz. E˘ger FALSE dönerse, uçbirimin<br />

renk deste˘gi yoktur.<br />

start_color() i¸slevi ça˘grıldı˘gı anda Curses uçbirim tarafından desteklenen tüm renkleri ilklendirir. Bu renklere<br />

COLOR_BLACK v.b. gibi tanımlanmı¸s sabitlerle eri¸s<strong>ile</strong>bilir. Aslında renkleri tam olarak kullanabilmek için<br />

çiftleri tanımlamalısınız. Renkler daima çiftler halinde kullanılır. Bunun anlamı init_pair() i¸slevini kullanarak<br />

artalan ve karakter rengi için bir renk çifti belirtmeniz demektir. Bundan sonra bu renk çifti COLOR_PAIR()<br />

<strong>ile</strong> normal bir öznitelik olarak kullanılabilir. ˙Ilk ba¸sta karma¸sık gelebilir. Fakat bu zeki yakla¸sım renk çiftleri üz-<br />

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

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

Saved successfully!

Ooh no, something went wrong!