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.

Örne˘gin getch()’ı ¸su ¸sekilde ça˘gırırsanız,<br />

int ch;<br />

ch = getch();<br />

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

getch() kullanıcıdan bir tu¸sa basmasını bekleyecek (e˘ger belli bir zaman a¸sımı tanımlamadıysanız) ve kullanıcı<br />

tu¸sa bastı˘gı anda kar¸sılık gelen tamsayıyı döndürülecektir. Daha sonra dönen de˘geri curses.h içerisinde<br />

tanımlanmı¸s sabitlerle kıyaslayarak istedi˘giniz tu¸slarla e¸sle¸smeyi sa˘glayabilirsiniz.<br />

A¸sa˘gıdaki kod parçası bu i¸si yapacaktır.<br />

if(ch == KEY_LEFT)<br />

printw("Sola ok tusuna basıldı\n");<br />

Yukarı ve a¸sa˘gı ok tu¸slarıyla hareket ed<strong>ile</strong>b<strong>ile</strong>n bir menü yazalım.<br />

11.2. Basit bir tu¸s kullanım örne ˘gi<br />

Örnek 10. Basit bir tu¸s kullanım örne ˘gi<br />

#include <br />

#include <br />

#define WIDTH 30<br />

#define HEIGHT 10<br />

int startx = 0;<br />

int starty = 0;<br />

char *choices[] = {<br />

"Choice 1",<br />

"Choice 2",<br />

"Choice 3",<br />

"Choice 4",<br />

"Exit",<br />

};<br />

int n_choices = sizeof(choices) / sizeof(char *);<br />

void print_menu(WINDOW *menu_win, int highlight);<br />

int main()<br />

{ WINDOW *menu_win;<br />

int highlight = 1;<br />

int choice = 0;<br />

int c;<br />

initscr();<br />

clear();<br />

noecho();<br />

cbreak(); /* Satır ön belle˘gi etkisiz. Her¸seyi bana gönder */<br />

startx = (80 – WIDTH) / 2;<br />

starty = (24 – HEIGHT) / 2;<br />

menu_win = newwin(HEIGHT, WIDTH, starty, startx);<br />

keypad(menu_win, TRUE);<br />

mvprintw(0, 0, "Yukarı ve asagı için ok tuslarını kullanın, "<br />

"Seçmek için enterı kullanın");<br />

refresh();<br />

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

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

Saved successfully!

Ooh no, something went wrong!