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.

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

Alandaki odaklanmadan her ayrılmada do˘grulama yapılacak mı yoksa sadece alan de˘gi¸sti˘ginde mi bir<br />

do˘grulama yapılacak diye kontrol eder. Normalinde sonuncusu do˘grudur. O_PASSOK’u ayarlamak form<br />

i¸slemeniz sırasında e˘ger alanın do˘grulama i¸slevi de˘gi¸siyorsa faydalı olabilir.<br />

O_STATIC<br />

Alanın ilk boyutunda sabit olup olmadı˘gını kontrol eder. Bu seçene˘gi etkisizle¸stirdi˘ginizde, alan çalı¸sma<br />

zamanında de˘gi¸sken bir hal alır ve yazılan girdiye göre geni¸sleyebilir bir özellik kazanır.<br />

Bir alanın özelli˘gi o alan seçildi˘gi anda de˘gi¸stir<strong>ile</strong>mez. Yine de, henüz seçilmemi¸s fakat ekranda gözüken alanların<br />

seçenekleri de˘gi¸stir<strong>ile</strong>bilir.<br />

Seçenek de˘gerleri bit maskeleridir ve açık ¸sekilde, mantıksal VEYA kullanarak olu¸sturulabilir. O_AUTOSKIP<br />

de˘gerinin etkisizle¸stirilmesini daha önce görmü¸stünüz. A¸sa˘gıdaki örnek birkaç seçene˘gin daha kullanımını<br />

açıklamaktadır. Di˘ger seçenekler gerekli görüldü˘gü yerde açıklanmı¸stır.<br />

Örnek 27. Alan Özelliklerini Kullanım Örne ˘gi<br />

#include <br />

#define STARTX 15<br />

#define STARTY 4<br />

#define WIDTH 25<br />

#define N_FIELDS 3<br />

int main()<br />

{ FIELD *field[N_FIELDS];<br />

FORM *my_form;<br />

int ch, i;<br />

/* Curses kipini ilklendir */<br />

initscr();<br />

cbreak();<br />

noecho();<br />

keypad(stdscr, TRUE);<br />

/* Alanları ilklendir */<br />

for(i = 0; i < N_FIELDS – 1; ++i)<br />

field[i] = new_field(1, WIDTH, STARTY + i * 2, STARTX, 0, 0);<br />

field[N_FIELDS – 1] = NULL;<br />

/* Alan özelliklerini ayarla */<br />

set_field_back(field[1], A_UNDERLINE); /* Seçenek için bir satır yaz */<br />

field_opts_off(field[0], O_ACTIVE); /* Bu alan dura˘gan bir etiket */<br />

field_opts_off(field[1], O_PUBLIC); /* Bu alan bir parola alanı gibi*/<br />

field_opts_off(field[1], O_AUTOSKIP); /* Son karakter girildikten sonra */<br />

/* aynı alana giri¸si önlemek için */<br />

/* Alanı olu¸stur ve ekrana yaz */<br />

my_form = new_form(field);<br />

post_form(my_form);<br />

refresh();<br />

set_field_just(field[0], JUSTIFY_CENTER); /* Ortalama ayarı */<br />

set_field_buffer(field[0], 0, "Bu dura˘gan bir alandır");<br />

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

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

Saved successfully!

Ooh no, something went wrong!