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

new_field kütüphane yordamını hatırlayın; bir birim yüksekli˘ginde ve tek satırlık bir alan olu¸sturuluyordu. Bir<br />

birimden fazla yüksekli˘ge sahip alanlar çok satırlı alanlar olarak tanımlanacaklardır.<br />

O_STATIC özelli˘gi etkisizle¸stirilmi¸s tek satırlık bir alan tek bir sabit satır içerecektir, fakat sütun sayısı kullanıcının<br />

ilk alanın ta¸sıyab<strong>ile</strong>ce˘ginden fazlasını girmesi durumunda artabilir. Görüntülenen alan sayısı sabit kalacak ve<br />

ilave ver<strong>ile</strong>r kaydırılabilir olacaktır.<br />

Çok satırlı ve O_STATIC özelli˘gi etksizle¸strilmi¸s bir alan ise (çalı¸sma zamanında geni¸sleyeb<strong>ile</strong>n) sabit sayıda<br />

sütun içerecek, fakat satır sayısı alanın ilk tutab<strong>ile</strong>ce˘gi de˘gerden daha fazlası girilmesi durumunda artacaktır.<br />

Görüntülenen satır sayısı sabit olacak ve ilave ver<strong>ile</strong>r kaydırılabilir olacaktır.<br />

Yukarıdaki iki paragraf çalı¸sma zamanında geni¸sleyen alanların davranı¸s özellikleriyle ilgili oldukça açıklayıcıdır.<br />

Di˘ger form alanlarının davranı¸s özellikleri a¸sa˘gıda açıklanmı¸stır:<br />

1. O_AUTOSKIP seçene˘gi e˘ger O_STATIC etkisiz ve alan için tanımlanmı¸s azami büyüyebilme miktarı<br />

tanımlı de˘gilse gözardı ed<strong>ile</strong>cektir. ¸Su anda, kullanıcı alanın en sonuna gelip bir karakter yazdı˘gında<br />

O_AUTOSKIP otomatik ¸sekilde REQ_NEXT_FIELD form sürücüsü iste˘gini üretmektedir. En fazla<br />

büyüyebilme miktarı tanımlanmamı¸s geni¸sleyebilir bir alanda son karakter için bir konum yoktur. E˘ger<br />

en fazla geni¸sleme oranı tanımlanmı¸ssa, O_AUTOSKIP seçene˘gi e˘ger alan en büyük de˘gerine kadar<br />

geni¸slediyse normal çekilde çalı¸sacaktır.<br />

2. O_STATIC özelli˘gi e˘ger etkisizse alan içerisinde hizalama gözardı ed<strong>ile</strong>cektir. ¸Su anda,<br />

set_field_just tek satıra JUSTIFY_LEFT, JUSTIFY_RIGHT, JUSTIFY_CENTER özellikleri<br />

kazandırmak için kullanılabilir. Geni¸sleyebilir tek satırlık alan yatay olarak geni¸sleyip kaydırılabilir ve<br />

hizalanab<strong>ile</strong>n çok daha fazla veri içerebilir. field_just’ten geri dönen de˘ger de˘gi¸smemi¸s olacaktır.<br />

3. A¸sırı yüklenmi¸s form sürücü iste˘gi REQ_NEW_LINE, O_NL_OVERLOAD form seçene˘ginde O_STATIC<br />

de˘gerinin etkisiz olmasına ve alan için en fazla geni¸sleme miktarı tanımlanmamasına bakmaksızın aynı<br />

¸sekilde çalı¸sır. ¸Su anda e˘ger O_NL_OVERLOAD etkinse, REQ_NEW_LINE e˘ger alanın son satırında<br />

ça˘grılırsa gizli olarak REQ_NEXT_FIELD üretir. E˘ger bir alan sınırlara ba˘glı kalmadan geni¸sleyebiliyorsa,<br />

son bir satır yoktur, REQ_NEW_LINE hiç bir zaman gizli olarak REQ_NEXT_FIELD üretmez. E˘ger en<br />

fazla büyüme miktarı belirtilmi¸sse ve O_NL_OVERLOAD form özelli˘gi etkinse, e˘ger alan büyüyeb<strong>ile</strong>ce˘gi<br />

en büyük büyüklü˘ge gelmi¸s ve son satırda ise REQ_NEW_LINE sadece gizli olarak REQ_NEXT_FIELD<br />

üretecektir.<br />

4. dup_field ça˘grısı bilindi˘gi gibi çalı¸sır; alanı o anki önbellek boyunu ve alanın içeri˘gi <strong>ile</strong> ik<strong>ile</strong>¸stirecektir.<br />

Belirtilmi¸s en fazla büyüme miktarı da ik<strong>ile</strong>¸stir<strong>ile</strong>cektir.<br />

5. link_field bilindi˘gi gibi çalı¸sacaktır; O an ba˘glanan alan <strong>ile</strong> birlikte tüm alan özelliklerini ve payla¸sılan<br />

önbelle˘gi ik<strong>ile</strong>¸stirecektir. E˘ger O_STATIC alan seçene˘gi alanı payla¸sımlı önbellek tarafından ardı¸sıl olarak<br />

de˘gi¸stirilirse, önbelle˘gin sahip oldu˘gu veri miktarından fazlasının alana girilmesi durumunda nasıl davranı¸s<br />

gösterece˘gi o anki alanın özellik ayarına ba˘glıdır.<br />

6. field_info bilindi˘gi gibi çalı¸sacaktır; sat_say de˘gi¸skeni new_field’a yapılan asıl ça˘grının de˘gerini<br />

tutacaktır. Kullanıcı o anki önbellek boyutunu sorgulamak için dynamic_field_info’yu kullanmalıdır.<br />

Yukarıdak<strong>ile</strong>rin bazıları sadece form sürücüsünden sonra açıklanınca anlam kazanmaktadır. Sonraki bir kaç<br />

kısımda buna bakıyor olaca˘gız.<br />

18.4. Form Pencereleri<br />

Form penceresi mantı˘gı menü pencerelerinkine oldukça benzemektedir. Her bir form bir ana pencere ve alt<br />

pencere <strong>ile</strong> ili¸siklendirilir. Ana pencere ba¸slık, etiket, çerçeve veya kullanıcı her ne istiyorsa gösterir. Alt pencere<br />

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

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

Saved successfully!

Ooh no, something went wrong!