Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
}<br />
}<br />
}<br />
break;<br />
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
/* Formu ekrandan sil ve ayrılan bellek alanını 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 />
Yukarıdaki örnek oldukça açık ¸sekildedir. new_field() <strong>ile</strong> iki alan olu¸sturur. new_field() parametre olarak<br />
yükseklik, geni¸slik, y ba¸slangıç koordinatı, x ba¸slangıç koordinatı, ekranda gözükmeyen satır sayısı ve ilave<br />
çalı¸sma önbelle˘gi sayısını almaktadır. Be¸sinci parametre, ekranda gözükmeyen satır sayısı alanın ne kadarının<br />
gözükece˘gini belirtir. E˘ger sıfırsa, tüm alan gösterilir, aksi halde kullanıcı alanın görüntülenmeyen alanlarına<br />
ta¸stı˘gında form kaydırılabilir olacaktır. Form kütüphanesi kullanıcının girdi˘gi ver<strong>ile</strong>rin saklanması için her alan<br />
için bir önbellek tahsis eder. new_field()’in son parametresini kullanarak ilave ek bellekler tahsis etmesini<br />
sa˘glayabiliriz. ˙Istedi˘giniz herhangi bir amaç için kullanılabilir.<br />
Alanları olu¸sturduktan sonra, set_field_back() <strong>ile</strong> artalan özellikleri bir alt çizgi olarak ayarlanır.<br />
AUTOSKIP seçene˘gi field_opts_off() kullanılarak kapatılır. E˘ger bu özellik açıksa, odak e˘ger üzerinde<br />
i¸slem yapılan alan tamamen dolduysa bir sonraki alana kayacaktır.<br />
Alanlar forma ilint<strong>ile</strong>ndikten sonra ekrana yazılır. ˙I¸ste ¸su wh<strong>ile</strong> döngüsü içerisinde de kullanıcı gird<strong>ile</strong>ri<br />
form_driver’daki uygun kar¸sılıkları <strong>ile</strong> i¸slenir. form_driver()’a yapılacak olan isteklerin ayrıntıları daha<br />
sonra açıklanacaktır.<br />
18.3. Alanlar <strong>ile</strong> Oynamak<br />
Her bir form alanı birden fazla özellik <strong>ile</strong> ilint<strong>ile</strong>nmi¸stir. ˙Isten<strong>ile</strong>n özelli˘gi elde etmek ve e˘glenmek için<br />
de˘gi¸stir<strong>ile</strong>bilirler. Daha ne bekliyoruz?<br />
18.3.1. Alan Konumunun ve Boyutununun Alınması<br />
Alan olu¸sturulması sırasında verdi˘gimiz parametreler field_info() <strong>ile</strong> okunabilir. Kendisine ver<strong>ile</strong>n parametrelere<br />
yükseklik, geni¸slik, y ba¸slama koordinatı, x ba¸slama koordinatı, görünmeyen satır sayısı ve ilave önbellek<br />
miktarını geri döndürür. new_field() bu i¸slevin bir çe¸sit ters i¸slevidir.<br />
int i¸slev<br />
field_info (FIELD *alan, /* döndürülecek alan */<br />
int *yukseklik, /* alan yüksekli˘gi */<br />
int *genislik, /* alan geni¸sli˘gi */<br />
int *ust, /* üst kenar */<br />
int *sol, /* sol kenar */<br />
int *gorunmeyen, /* görünmeyen satır sayısı */<br />
int *tampon_boyu); /* tampon boyu */<br />
18.3.2. Alanı ta¸sımak<br />
Alanın konumu farklı bir konuma move_field() <strong>ile</strong> ta¸sınabilir.<br />
http://belgeler.org Linux Kitaplı˘gı 69 / 90