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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

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

/* Alanı ilklendir */<br />

mvprintw(STARTY, STARTX – 10, "Alan 1:");<br />

mvprintw(STARTY + 2, STARTX – 10, "Alan 2:");<br />

refresh();<br />

/* Kullanıcıdan elen istekler için dögü */<br />

wh<strong>ile</strong>((ch = getch()) != KEY_F(1))<br />

{ switch(ch)<br />

{ case KEY_DOWN:<br />

/* Sonraki alana git */<br />

form_driver(my_form, REQ_NEXT_FIELD);<br />

/* O anki önbelle˘gin sonuna git */<br />

/* Son karakterde döngüden çık */<br />

form_driver(my_form, REQ_END_LINE);<br />

break;<br />

case KEY_UP:<br />

/* Önceki alana git */<br />

form_driver(my_form, REQ_PREV_FIELD);<br />

form_driver(my_form, REQ_END_LINE);<br />

break;<br />

default:<br />

/* E˘ger bu normal bir karakterse */<br />

/* Ekrana yazılır */<br />

form_driver(my_form, ch);<br />

break;<br />

}<br />

}<br />

/* Formu ekrandan sil ve tahsis ed<strong>ile</strong>n belle˘gi geri ver */<br />

unpost_form(my_form);<br />

free_form(my_form);<br />

free_field(field[0]);<br />

free_field(field[1]);<br />

endwin();<br />

return 0;<br />

Bo örnek, i¸se yaramaz olsa da, seçeneklerin kullanımını göstermektedir. E˘ger düzgün kullanılırsa, bir form<br />

içerisindeki bilg<strong>ile</strong>ri çok verimli ¸sekilde gösterebilirler. O_PUBLIC olmayan ikinci alan yazdı˘gınız karakterleri<br />

göstermez.<br />

18.3.6. Alan Durumu<br />

Alan durumu alan üzerinde düzenleme yapılıp yapılmadı˘gını söyler. Ba¸slangıçta FALSE de˘gerindedir. Kullanıcı<br />

bir takım ver<strong>ile</strong>r girdi˘ginde ve veri belle˘gini de˘gi¸stirdi˘ginde TRUE de˘gerini alır. Dolayısıyla bir alanın durum<br />

bilgisi, alan verisi üzerinde de˘gi¸siklik yapılıp yapılmadı˘gının kontrolü için kullanılabilir. A¸sa˘gıdaki i¸slevler bu<br />

türden i¸slemlere yardım edebilir:<br />

int i¸slev<br />

set_field_status (FIELD *alan, /* de˘gi¸stir<strong>ile</strong>cek alan */<br />

int durum); /* atanacak durum */<br />

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

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

Saved successfully!

Ooh no, something went wrong!