Upload
others
View
15
Download
0
Embed Size (px)
Citation preview
Rexx/Curses Kütüphanesi
Sayın Mark HESSLING Bey’e…
Haluk POLAT
ISBN ve EAN Belirtimi
978 – 975 – 00742 – 1 – 9
Rexx/Curses Kütüphanesi
İÇİNDEKİLER
Teşekkür --------------------------------------------------- 3Önsöz ------------------------------------------------------ 4Bilinmesi Gerekenler --------------------------------------- 6Kim Okumalı ------------------------------------------------ 7Sözdizimi -------------------------------------------------- 7Rexx/Curses Hakkında --------------------------------------- 8Sorgulayış/Kuruluş/Kaldırış -------------------------------- 9Oturum Başlatış/Sonlandırış ------------------------------- 10Öznitelikler ---------------------------------------------- 11Renkler --------------------------------------------------- 13SKT (Seçeneksel Karakter Takımı)--------------------------- 15Tuş Tanımları --------------------------------------------- 16Pencereler ------------------------------------------------ 19İşlevler -------------------------------------------------- 19CurAddch -------------------------------------------------- 21CurAddstr ------------------------------------------------- 22CurAttroff ------------------------------------------------ 24CurAttributes --------------------------------------------- 25CurAttron ------------------------------------------------- 26CurAttrset ------------------------------------------------ 27CurBox ---------------------------------------------------- 29CurCbreak ------------------------------------------------- 31CurChartext ----------------------------------------------- 32CurClear -------------------------------------------------- 34CurClearok ------------------------------------------------ 36CurClrtobot ----------------------------------------------- 38CurClrtoeol ----------------------------------------------- 40CurCursSet ------------------------------------------------ 42CurDelch -------------------------------------------------- 44CurDeleteln ----------------------------------------------- 46CurDelwin ------------------------------------------------- 48CurEcho --------------------------------------------------- 50CurEndwin ------------------------------------------------- 52CurErase -------------------------------------------------- 54CurGetch -------------------------------------------------- 56CurGetstr ------------------------------------------------- 59CurGetyx -------------------------------------------------- 60CurHasAcs ------------------------------------------------- 62CurHasColors ---------------------------------------------- 64CurInch() ------------------------------------------------- 66CurInitPair() --------------------------------------------- 68CurInitscr() ---------------------------------------------- 70CurInsch() ------------------------------------------------ 72CurInsertln() --------------------------------------------- 74CurKeypad() ----------------------------------------------- 76CurNodelay() ---------------------------------------------- 78CurMove() ------------------------------------------------- 80CurWmove() ------------------------------------------------ 82
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
2
Rexx/Curses Kütüphanesi
CurMvdelch() ---------------------------------------------- 84CurMvwdelch() --------------------------------------------- 86CurLeaveok() ---------------------------------------------- 88CurNapms() ------------------------------------------------ 89CurNewwin() ----------------------------------------------- 91CurNl() --------------------------------------------------- 95CurNocbreak() --------------------------------------------- 96CurNoecho() ----------------------------------------------- 98CurNonl() ------------------------------------------------- 99CurNoraw() ----------------------------------------------- 100CurRaw() ------------------------------------------------- 101CurRefresh() --------------------------------------------- 102CurStandout() -------------------------------------------- 104CurStartColor() ------------------------------------------ 106CurTouchline() ------------------------------------------- 107CurTouchwin() -------------------------------------------- 108CurWaddch() ---------------------------------------------- 110CurWaddstr() --------------------------------------------- 112CurWattroff() -------------------------------------------- 113CurWattron() --------------------------------------------- 115CurWattrset() -------------------------------------------- 116CurWclear() ---------------------------------------------- 118CurWclrtobot() ------------------------------------------- 120CurWclrtoeol() ------------------------------------------- 122CurWdelch() ---------------------------------------------- 124CurWdeleteln() ------------------------------------------- 126CurWerase() ---------------------------------------------- 127CurWgetch() ---------------------------------------------- 129CurWgetstr() --------------------------------------------- 132CurWinch() ----------------------------------------------- 133CurWinsertln() ------------------------------------------- 135CurWrefresh() -------------------------------------------- 137CurWnoutrefresh() ---------------------------------------- 138CurDoupdate() -------------------------------------------- 140CurGetMouseInfo() ---------------------------------------- 141CurDropFuncs() ------------------------------------------- 144CurLoadFuncs() ------------------------------------------- 145CurVariable() -------------------------------------------- 146Sözlükçe ------------------------------------------------- 148Kaynakça ------------------------------------------------- 149Sonsöz --------------------------------------------------- 150Derleyiş Hakkı ------------------------------------------- 150
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
3
Rexx/Curses Kütüphanesi
Teşekkür
• ŞANI BÜYÜK YÜCE ALLAH’A
Verdiği her türlü sağlık, güzellik ve nimet için…
• Sayın Mark HESSLING Bey’e
Regina isimli REXX yorumlayıcısını ve Rexx/Curses kütüphanesini insanlığa kazandırdığı için.
• Burada Yer Veremediğim Herkese
Öncelikle beni bağışlasınlar. Elbette onların da REXX programlama dili ve Rexx/Curses kütüphanesi konusunda ilerlemem ve diğer birçok konuda bana son derece önemli katkıları olmuştur.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
4
Rexx/Curses Kütüphanesi
Önsöz
Yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) programlama diline ait yorumlayıcılarla birlikte kullanılmak üzere, bir doğal bileşen olarak işlev kütüphaneleri sağlanmıştır.
Bu kütüphanelere “REXX tabanlı çağrılabilir devingen bağlantı kütüphaneleri” adı verilir.
Regina isimli yordamsal REXX yorumlayıcısını ücretsiz olarak insanlığın kullanımına sunan Sayın Mark HESSLING Bey, bu yorumlayıcının kullanıldığı değişik işletim dizgelerinde metinsel kullanıcı arayüzü (TUI; Text User Interface) tabanlı uygulamaları geliştirmek amacıyla Rexx/Curses adı verilen bir işlev kütüphanesini de ücretsiz olarak insanlığın kullanımına sunmuştur.
UNIX türevli işletim dizgelerinde doğal bir bileşen olarak bulunan ve C programlama dili kullanılarak oluşturulan ve yine C/C++ programlama dilleri yardımıyla metinsel kullanıcı arayüzü uygulamaları geliştirilmesini sağlayan Curses kütüphanesi ve bunun yeni uyarlayışı olan NCurses (New Curses) kütüphanesi, Rexx/Curses kütüphanesinin dayanak noktası olmuştur.
“Konsol Uygulayımları” olarak da bilinen metinsel kullanıcı arayüzü ortamları, günümüzde çizgesel kullanıcı arayüzü (GUI; Graphical User Interface) ve ağsal kullanıcı arayüzü (WUI; Web Based Interface) ortamlarının hızlı gelişimi karşısında, az tercih edilir ve kullanılır olmuştur.
Ancak, çizgesel kullanıcı arayüzü ve ağsal kullanıcı arayüzü ortamlarının geniş bellek gereksinimine sahip olmalarından dolayı da metinsel kullanıcı arayüzü ortamına sahip yazılımların geliştirilmesi ve kullanılması, halen tercih edilen bir seçenek olarak kabul görmektedir.
Rexx/Curses kütüphanesinin kullanımı üzerine yazdığım bu kitabımın katı çoğaltım (hardcopy) şeklinde yazılmış bir örneği yoktur.
Bundan dolayı, PDF dosya biçimi kullanılarak yumuşak çoğaltım (softcopy) şeklinde hazırlanmıştır.
Bu yayınımı Regina isimli yordamsal REXX yorumlayıcısını ve Rexx/Curses kütüphanesini ücretsiz olarak insanlığa sunan ülküsel kişiliğe sahip Sayın Mark HESSLING Bey’e adıyorum.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
5
Rexx/Curses Kütüphanesi
“Kaynakça” bölümünde, Sayın Mark HESSLING Bey’in yönetiminde kullanıma sunulan Rexx.org sayfasına, ilgili URL bulunağından erişilebilir.
Gerek yordamsal REXX gerekse nesne yönelimli REXX programlama dilini kullanarak metinsel kullanıcı arayüzü ortamına sahip izlence geliştirmek isteyenlere yardımcı olacağını ümit ettiğim bu yayınımın, siz değerli okuyuculara yararlı olduğunu görmek beni son derece hoşnut ve mutlu edecektir.
Saygılarımla…Haluk POLAT
01 Ekim 2007 ( 01.10.2007 ) – Pazartesi
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
6
Rexx/Curses Kütüphanesi
Bilinmesi Gerekenler
Bu kitap içerisinde yer alan örnek düzgüler, Rexx/Curses kütüphanesinin Windows türevli işletim dizgelerine özgü uyarlayışının Windows XP SP2 işletim dizgesi üzerinde kurulumu ve kullanımı sonucu gerçekleştirilmiştir.
Bu uyarlayışa ait curses.dll, rexxtrans.dll ve rxcurses.dll dosyaları, PATH ortam değişkeninde yer alan dizinlerden herhangi birisine yerleştirilmişse de, işletim dizgesi üzerinde kurulu olan Regina isimli yordamsal REXX (Classic REXX) ve IBM Object REXX 2.1 isimli nesne yönelimli REXX (Object REXX) yorumlayıcıları kullanılarak Rexx/Curses uygulamaları geliştirilememiştir.
Bundan dolayı, uyarlayış içerisinde yer alan rxcurses.exe isimli edimli dosyadan yararlanılmıştır. Bu edimli dosya, Rexx/Curses kütüphanesinin devingen bağlantı kütüphanesi olan rxcurses.dll dosyasının ve bu dosyanın dayandığı curses.dll ve rexxtrans.dll dosyalarının bileşkesini oluşturur.
rxcurses.exe edimli dosyası kullanılarak Windows XP SP2 işletim dizgesi üzerinde yapılan bazı çalışmalarda istenilen başarılı sonuç alınamamış ve
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
şeklindeki bildirime yer verilmiştir.
Diğer yandan, uyarlanış içerisinde yer alan curses.dll dosyası, Rexx/Curses kütüphanesi oluşturulurken öykünülen Curses/NCurses kütüphanesinin Windows türevli işletim dizgeleri için oluşturulmuş halidir ve rxcurses.dll dosyası için taban teşkil etmektedir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
7
Rexx/Curses Kütüphanesi
Kim Okumalı
Bu kitap, Sayın Mark HESSLING Bey tarafından oluşturulan ve değişik yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) programlama dili yorumlayıcılarıyla birlikte kullanılabilen Rexx/Curses isimli işlev kütüphanesi hakkında bilgi vermek amacıyla hazırlanmıştır.
Bu kitabı okuması gereken kişiler
• Değişik işletim dizgelerinde metinsel kullanıcı arayüzü (TUI; Text User Interface) ortamına sahip izlenceleri ve yazılım ürünlerini geliştirmek isteyenler.
şeklinde tanımlanmıştır.
Sözdizimi
Bu kitap içerisinde yer alan Rexx/Curses kütüphanesine ait işlevlerin çağrılışında iki farklı yöntem kullanılmaktadır. Esasen bu yöntemler, yordamsal REXX ve nesne yönelimli REXX programlama dillerinin doğasında var olan bir özelliktir. Ancak, değişik kişilerce/kurumlarca oluşturulan işlev kütüphanelerinin bazıları anılan bu yöntemlerin her ikisi için de destek sağlayamamaktadır.
Bunlardan birincisi, işlevsel kullanımdır. Bu kullanımda, ilgili işlevin sonucu bir değişkene aktarılır ve bu değişkendeki değer kullanılır. Bu kullanıma örnek olarak,
hedef_tus = CurGetch()Say ‘Okunan Hedef Tuş : ‘ hedef_tus
şeklindeki düzgü kesiti verilebilir.
İkinci yöntem de yordamsal kullanımdır. Bu kullanımda, ilgili işlevin sonucu RESULT adı verilen özel bir değişkene aktarılır ve bu değişkendeki değer kullanılır. Bu kullanıma örnek olarak da
Call CurGetchSay ‘Okunan Hedef Tuş : ‘ RESULT
şeklindeki düzgü kesiti verilebilir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
8
Rexx/Curses Kütüphanesi
Rexx/Curses Hakkında
Rexx/Curses işlev kütüphanesi, değişik işletim dizgelerinde kullanımı söz konusu olan yordamsal REXX (Classic REXX) ve nesne yönelimli REXX (Object REXX) yorumlayıcılarıyla birlikte kullanılarak, metinsel kullanıcı arayüzü (TUI; Text User Interface) ortamına sahip uygulamalar geliştirilmesini sağlayan bir yazılım ürünüdür.
Ücretsiz olarak dağıtımı gerçekleşen ve değişik işletim dizgelerine özgü türevleri olan Regina isimli REXX yorumlayıcısını insanlığa kazandıran Sayın Mark HESSLING Bey tarafından oluşturulmuştur.
Bu işlev kütüphanesi oluşturulurken UNIX türevli işletim dizgelerinde kullanımı söz konusu olan ve C programlama dili yardımıyla metinsel kullanıcı arayüzü ortamına sahip uygulamaların geliştirilmesini sağlayan Curses (Cursor Session; İmleç Oturumu) kütüphanesi dikkate alınmıştır.
UNIX türevli işletim dizgeleri üzerine geliştirilen en son ölçünlerde, ilerleyen zaman diliminde Curses kütüphanesinin yerini alacak NCurses (New Curses; Yeni İmleç Oturum) kütüphanesinin içerdiği bazı işlevlerin öykünüşüne de Rexx/Curses kütüphanesinde yer verilmiştir.
Rexx/Curses kütüphanesi, kullanımı söz konusu olan işletim dizgesinde doğal bileşen olarak kullanılan Curses/NCurses kütüphanesi varsa ilgili kütüphaneyi (durağan ya da devingen) dikkate alır. Eğer yoksa Sayın Mark HESSLING Bey tarafından ilgili işletim dizgesinde kullanılmak üzere hazırlanan devingen Curses/NCurses kütüphanesini dikkate alır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
9
Rexx/Curses Kütüphanesi
Sorgulayış/Kuruluş/Kaldırış
Rexx/Curses kütüphanesine ait bileşenlerin kullanılabilmesi için öncelikli olarak kütüphanenin yüklü olup olmadığının denetlenmesi ve yüklü değilse yüklenmesi gerekir.
Kütüphaneye ait işlevlerle ilintili işlemler sona erdiğinde, belleğin rahatlaması için yüklenen kütüphanenin kaldırılması gereklidir.
Sorgulayış
RC = RxFuncQuery(‘CurLoadFuncs’)
veya
Call RxFuncQuery ‘CurLoadFuncs’
diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/Curses kütüphanesi yüklü demektir. Eğer bir (1) değeri elde edilirse, Rexx/Curses kütüphanesi yüklü değildir.
Kuruluş
RC = RxFuncAdd(‘CurLoadFuncs’, ‘RxCurses’, ‘CurLoadFuncs’)
veya
Call RxFuncAdd ‘CurLoadFuncs’, ‘RxCurses’, ‘CurLoadFuncs’
diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/Curses kütüphanesi başarılı bir şekilde yüklenmiş demektir.
Bu işlemin ardı sıra
RC = CurLoadFuncs()
veya
Call CurLoadFuncs
dizilimi kullanılarak, Rexx/Curses kütüphanesine ait tüm bileşenler etkin hale getirilir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
10
Rexx/Curses Kütüphanesi
Kaldırış
RC = RxFuncDrop(‘CurLoadFuncs’)
veya
Call RxFuncDrop ‘CurLoadFuncs’
diziliminin kullanılması sonucu sıfır (0) dönüş değeri elde edilirse, Rexx/Curses kütüphanesi başarılı bir şekilde bellekten kaldırılmış demektir.
Oturum Başlatış/Sonlandırış
Rexx/Curses kütüphanesinde yer alan işlevler Curses/NCurses kütüphaneleri dikkate alınarak oluşturulduğu için metinsel kullanıcı arayüzü ortamına sahip uygulamalar için de oturum başlatılışı ve sonlandırılışı gereklidir.
Başlatılışı gerçekleştirmek amacıyla, Rexx/Curses kütüphanesi için geçerli olan sorgulayış ve kuruluş işlemine ait dizilimler kullanıldıktan sonra
RC = CurInitscr()
veya
Call CurInitscr
dizilimi kullanılır.
Diğer yandan sonlandırılışı da gerçekleştirmek amacıyla da Rexx/Curses kütüphanesi için geçerli olan kaldırış işlemine ait dizilim kullanılmadan önce
RC = CurEndwin()
veya
Call CurEndwin
dizilimi kullanılır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
11
Rexx/Curses Kütüphanesi
Öznitelikler
Rexx/Curses oturumunda da Curses/NCurses oturumlarında geçerli olan öznitelikler vardır. Ekranda görüntülenen her bir karakter, belli bir öznitelik değerine sahiptir. Bu öznitelik değerleri, uygulandığı karakterin/karakterlerin diğerlerinden belli bir şekilde ayırt edilmesini sağlar.
Rexx/Curses oturumlarında geçerli olan öznitelik değerleri, Curses/NCurses oturumlarındaki karşılık gelen öznitelik büyüksellerinde olduğu gibi birer dizgi ile belirtilmiştir.
İzleyen satırlarda dizelgeleştirilen özniteliklerin tamamının kullanılması gereklilik oluşturmaz. Ancak kullanımı söz konusu olduğunda, Rexx/Curses kütüphanesinin dayandığı varsayılan Curses/NCurses kütüphanesi için geçerli olan sınırlayışların dikkate alınması önerilir.
• A_NORMAL
Olağan etki özniteliği.
• A_STANDOUT
Ölçünlü çıktı etkisi özniteliği.
• A_BOLD
Vurgulanmış (koyu) etki özniteliği.
• A_UNDERLINE
Altçizgili etki özniteliği.
• A_REVERSE
Zıt etki özniteliği.
• A_BLINK
Yanan-Sönen etki özniteliği.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
12
Rexx/Curses Kütüphanesi
• A_DIM
Boyutlu etki özniteliği.
• A_INVIS
Görünmez etki özniteliği.
• A_PROTECT
Korunuşlu etki özniteliği.
Dizelgeleştirilen bu öznitelikler, ilgili Rexx/Curses işlevlerinde isteğe bağlı değiştirgeler olarak kullanılır. İlgili Rexx/Curses işlevlerinde, öznitelikler birimsel olarak en fazla 5 tane belirtilebilir. Bununla birlikte, öznitelik dizgileri aralarında birer boşluk karakteri kullanılarak tek bir öznitelik dizgisi gibi belirtilebilir. Bu durumla ilintili olarak;
CurAttroff(‘A_BOLD’, ‘COLOR_PAIR(1)’)
dizilimi
CurAttroff(‘A_BOLD COLOR_PAIR(1)’)
dizilimi ile aynı işlevsel sonuca ulaşır.
İkinci dizilimdekine benzer bir kullanım, “CurAttributes()” işlevinden dönen değer(ler)in alt sırasal işlev çağrımlarında kullanımına olanak tanır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
13
Rexx/Curses Kütüphanesi
Renkler
Rexx/Curses kütüphanesinin dikkate aldığı, kullanımı söz konusu olan işletim dizgesinde yer alan veya ilgili işletim dizgesi için hazırlanan durağan ya da devingen Curses/NCurses kütüphanesi renk desteğine sahipse, “Öznitelikler” konusunda yer verilen öznitelikler renksel özniteliklerle (renklerle) birlikte kullanılabilir.
Kullanımı söz konusu olan işletim dizgesi için geçerli olan ya da onun için hazırlanan Curses/NCurses kütüphanesinin renk desteğine sahip olup olmadığının öğrenilmesi için CurHascolors() işlevinin kullanılması yeterlidir. Eğer bir (1) değeri geri gönderirse, renksel öznitelik (renk) desteği vardır.
Rexx/Curses kütüphanesinde var olan renk dizgisel değerleri kullanılarak kullanıcı tanımlı renk çiftleri tanımlanıp kullanılabilir. Bu ereğe ulaşmak için de CurInitpair() işlevinden yararlanılır. Bu işlev kullanılarak oluşturulan kullanıcı tanımlı renk çiftleri COLOR_PAIR(n) yapay büyükseli yardımıyla kullanılır.
Bu duruma örnek olması açısından; “H” karakterini bulunulan pencere ortamında (varsayılan pencere ortamında) kırmızı renkli ön tasarda ve mavi renkli arka tasarda görüntülemek amacıyla
If CurHasColors() Then Do RC = CurInitPair(1,'COLOR_RED','COLOR_BLUE') RC = CurAddch('H','A_BOLD','COLOR_PAIR(1)') End
şeklindeki düzgü kesitinin kullanılması yeterlidir.
COLOR_PAIR(n) yapar büyükseli, Curses/NCurses kütüphanesindeki aynı isimli büyükselle sözdizimsel olarak benzerdir. Mutlaka büyük harflerle belirtilmelidir ve belirtilirken dizgi içerisinde herhangi bir boşluğa yer verilmemelidir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
14
Rexx/Curses Kütüphanesi
Rexx/Curses kütüphanesinde yer alan renk tanımlarına ait dizgisel değerler, izleyen satırlarda dizelgeleştirildiği gibidir.
• COLOR_BLACK
Siyah.
• COLOR_BLUE
Mavi.
• COLOR_RED
Kırmızı.
• COLOR_CYAN
Türkuaz.
• COLOR_MAGENTA
Pembe.
• COLOR_GREEN
Yeşil.
• COLOR_YELLOW
Sarı.
• COLOR_WHITE
Beyaz.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
15
Rexx/Curses Kütüphanesi
SKT (Seçeneksel Karakter Takımı)
Rexx/Curses kütüphanesi kullanılarak oluşturulan uygulamalar, olağan olarak ASCII karakter takımındaki karakterleri görüntüler. Curses/NCurses kütüphanesi, olağan karakterlerin yerine kullanılabilecek karakterlerin seçeneksel bir takımını tanımlar. Bu seçeneksel karakterler, Rexx/Curses kütüphanesindeki işlevlerde ASCII karakterlerinin yerine tekil bir değiştirge olarak belirtilebilir.
Değinilen bu seçeneksel karakterler “ACS_” dizgisiyle başlar.
Rexx/Curses kütüphanesinde tanımlı olan seçeneksel karakterlerin dizelgesi izleyen satırlarda belirtildiği gibidir.
• ACS_ULCORNER• ACS_LLCORNER• ACS_URCORNER• ACS_LRCORNER• ACS_RTEE• ACS_LTEE• ACS_BTEE• ACS_TTEE• ACS_HLINE• ACS_VLINE• ACS_PLUS• ACS_S1• ACS_S9• ACS_DIAMOND• ACS_CKBOARD• ACS_DEGREE• ACS_PLMINUS• ACS_BULLET• ACS_LARROW• ACS_RARROW• ACS_DARROW• ACS_UARROW• ACS_BOARD• ACS_LANTERN• ACS_BLOCK• ACS_S3• ACS_S7• ACS_LEQUAL• ACS_GEQUAL• ACS_PI• ACS_NEQUAL• ACS_STERLING
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
16
Rexx/Curses Kütüphanesi
Değişik işletim dizgelerinde yer alan ya da onun için oluşturulan Curses/NCurses kütüphanesi, dizelgeleştirilen bu seçeneksel karakterlerin tamamını desteklemeyebilir.
Desteği olmayan seçeneksel karakter, ekran görüntüsünde bir tane diyez (“#”) karakteri ile gösterilir.
Tuş Tanımları
Rexx/Curses kütüphanesinde yer alan CurGetch() işlevi, tuş takımı yardımıyla girilen herhangi bir harfin, rakamın, noktalama işaretinin ve özel bir karakterin kendini geri gönderebildiği gibi bir ya da daha fazla tuşun birlikte kullanımı sonucu oluşan özel tuş değerlerini de geri gönderebilir.
Gönderebileceği özel tuş değerleri, Rexx/Curses kütüphanesi içerisinde dizgisel değerler şeklinde yer almaktadır.
Söz konusu dizgisel değerlerin dizelgesi izleyen satırlarda belirtildiği gibidir.
• KEY_BREAK• KEY_DOWN• KEY_UP• KEY_LEFT• KEY_RIGHT• KEY_HOME• KEY_BACKSPACE• KEY_F(0)• KEY_F(1)• KEY_F(2)• KEY_F(3)• KEY_F(4)• KEY_F(5)• KEY_F(6)• KEY_F(7)• KEY_F(8)• KEY_F(9)• KEY_F(10)• KEY_F(11)• KEY_F(12)• KEY_F(13)• KEY_F(14)• KEY_F(15)• KEY_F(16)• KEY_F(17)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
17
Rexx/Curses Kütüphanesi
• KEY_F(18)• KEY_F(19)• KEY_F(20)• KEY_F(21)• KEY_F(22)• KEY_F(23)• KEY_F(24)• KEY_F(25)• KEY_F(26)• KEY_F(27)• KEY_F(28)• KEY_F(29)• KEY_F(30)• KEY_F(31)• KEY_F(31)• KEY_F(32)• KEY_F(33)• KEY_F(34)• KEY_F(35)• KEY_F(36)• KEY_F(37)• KEY_F(38)• KEY_F(39)• KEY_F(40)• KEY_F(41)• KEY_F(42)• KEY_F(43)• KEY_F(44)• KEY_F(45)• KEY_F(46)• KEY_F(47)• KEY_F(48)• KEY_F(49)• KEY_F(50)• KEY_F(51)• KEY_F(52)• KEY_F(53)• KEY_F(54)• KEY_F(55)• KEY_F(56)• KEY_F(57)• KEY_F(58)• KEY_F(59)• KEY_F(60)• KEY_F(61)• KEY_F(62)• KEY_F(63)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
18
Rexx/Curses Kütüphanesi
• KEY_DL
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
19
Rexx/Curses Kütüphanesi
• KEY_IL• KEY_DC• KEY_IC• KEY_EIC• KEY_CLEAR• KEY_EOS• KEY_EOL• KEY_SF• KEY_SR• KEY_NPAGE• KEY_PPAGE• KEY_STAB• KEY_CTAB• KEY_ENTER• KEY_SRESET• KEY_RESET• KEY_PRINT• KEY_LL• KEY_A1• KEY_A3• KEY_B2• KEY_C1• KEY_C3• KEY_BTAB• KEY_MOUSE
UNIX türevli işletim dizgeleriyle birlikte kullanımı söz konusu olan uçbirimlerdeki haritalayış düzeneklerinin farklı olması nedeniyle, dizelgede yer alan tuş birliktelikleri aynen kullanılsa dahi farklı dönüş değerleri “CurGetch()” işlevi tarafından üretilebilir. Ne yazık ki, bu durumun önüne geçilememektedir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
20
Rexx/Curses Kütüphanesi
Pencereler
Rexx/Curses kütüphanesi kullanılarak yazılan izlencelerde, kullanılan donanımsal uçbirimin tamamı “varsayılan pencere” olarak tanımlanır ve “stdscr” dizgisel değişkeni ile işaret edilir.
Bunun dışında, kullanıcı tarafından da özel pencereler tanımlanabilir ve bu pencereler üzerinde değişik işlemler yapılabilir.
Kullanıcı tanımlı pencereler üzerinde çalışabilmek amacıyla izleyen satırlarda yer verilen adımların uygulanması yeterlidir.
1. “CurNewwin()” işlevi kullanılarak bir pencere tanımlanır.2. Tanımlanan ve oluşturulan pencereyi görünür kılmak amacıyla
“CurBox()” işlevi kullanılır.3. “CurW” dizgisiyle başlayan ve “pencere” isimli bir değiştirgeye
sahip olan işlevler kullanılarak, ereklenen işlemler yapılır.4. “CurDelwin()” işlevi kullanılarak, en son tanımlanan pencereden
en ilk tanımlanan pencereye kadar tüm pencereler varlıksal olarak silinir.
İşlevler
Rexx/Curses kütüphanesine ait bileşenlerin bir dizelgesi izleyen satırlarda belirtildiği gibidir.
• CurAddch• CurAddstr• CurAttroff• CurAttributes• CurAttron• CurAttrset• CurBox• CurCbreak• CurChartext• CurClear• CurClearok• CurClrtobot• CurClrtoeol• CurCursSet• CurDelch• CurDeleteln• CurDelwin• CurEcho• CurEndwin• CurErase
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
21
Rexx/Curses Kütüphanesi
• CurGetch• CurGetstr• CurGetyx• CurHasAcs• CurHasColors• CurInch()• CurInitPair()• CurInitscr()• CurInsch()• CurInsertln()• CurKeypad()• CurNodelay()• CurMove()• CurWmove()• CurMvdelch()• CurMvwdelch()• CurLeaveok()• CurNapms()• CurNewwin()• CurNl()• CurNocbreak()• CurNoecho()• CurNonl()• CurNoraw()• CurRaw()• CurRefresh()• CurStandout()• CurStartColor()• CurTouchline()• CurTouchwin()• CurWaddch()• CurWaddstr()• CurWattroff()• CurWattron()• CurWattrset()• CurWclear()• CurWclrtobot()• CurWclrtoeol()• CurWdelch()• CurWdeleteln()• CurWerase()• CurWgetch()• CurWgetstr()• CurWinch()• CurWinsertln()• CurWrefresh()• CurWnoutrefresh()
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
22
Rexx/Curses Kütüphanesi
• CurDoupdate()
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
23
Rexx/Curses Kütüphanesi
• CurGetMouseInfo()• CurDropFuncs()• CurLoadFuncs()• CurVariable()
CurAddch
RC = CurAddch(karakter, [ö1, … ,ö5])
Call CurAddch karakter, [ö1, … ,ö5]
Erek
“karakter” değiştirgesiyle belirtilen karakterin varsayılan penceredeki geçerli imleç konumunda konumlandırılmasını sağlamak (sağlar).
Bu işlem gerçekleştiğinde, ilgili penceredeki imleç ilerletilir.
Değiştirge(ler)
karakter
Görüntülenmek istenen tekil bir karakter ya da SKT içerisindeki herhangi bir karakter.
ö1, … ,ö5
Rexx/Curses kütüphanesinde tanımlı olan öznitelik değerleri. En fazla 5 tanesi belirtilebilir.
Dönüş Değer(ler)i
OK
Başarılı sonlanış.
ERR
Başarısız sonlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
24
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurAddch.rexx -- *//* 04 */ /* -- Aciklayim : CurAddch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- Ekrana 'H' karakteri yazdiriliyor. -- */ /* 14 */ /* -- Gecerli etki 'A_BOLD' ve 'A_REVERSE' seklinde. -- *//* 15 */ /* 16 */ RC = CurAddch('H', 'A_BOLD', 'A_REVERSE')/* 17 */ /* 18 */ RC = CurAddstr(' - Cikis icin herhangi bir tusa basiniz...')/* 19 */ RC = CurRefresh() /* 20 */ RC = CurGetch()/* 21 */ RC = CurEndwin()/* 22 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAddstr() işlevi hakkındaki bilgiye bakınız.• CurWaddch() işlevi hakkındaki bilgiye bakınız.• CurWaddstr() işlevi hakkındaki bilgiye bakınız.
CurAddstr
RC = CurAddstr(dizgi)
Call CurAddstr dizgi
Erek
“dizgi” değiştirgesiyle belirtilen dizginin varsayılan pencerede görüntülenmesini sağlamak (sağlar).
Bu işlevsellik, bir karakter dizgisindeki her bir karakter için CurAddch() işlevinin bir kez çağırılması ile aynı sonucu verir.
“dizgi” değiştirgesiyle belirtilen dizgi, varsayılan pencerede geçerli olan varsayılan öznitelik değerleri dikkate alınarak görüntülenir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
25
Rexx/Curses Kütüphanesi
Değiştirge(ler)
dizgi
Görüntülenecek dizgi.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurAddstr.rexx -- *//* 04 */ /* -- Aciklayim : CurAddstr() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- 'Merhaba Dunya Halklari !' dizgisi ekrana -- */ /* 14 */ /* -- yazdiriliyor. -- *//* 15 */ /* 16 */ RC = CurAddstr('Merhaba Dunya Halklari !')/* 17 */ /* 18 */ RC = CurAddstr(' - Cikis icin herhangi bir tusa basiniz...')/* 19 */ RC = CurRefresh() /* 20 */ RC = CurGetch()/* 21 */ RC = CurEndwin()/* 22 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAddch() işlevi hakkındaki bilgiye bakınız.• CurWaddch() işlevi hakkındaki bilgiye bakınız.• CurWaddstr() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
26
Rexx/Curses Kütüphanesi
CurAttroff
RC = CurAttroff(ö1, … ,ö5)
Call CurAttroff ö1, … ,ö5
Erek
“ö1, … ,ö5” değiştirgeleriyle belirtilen özniteliklerin etkisiz kılınmasını sağlamak (sağlar).
Değiştirge(ler)
ö1, … ,ö5
Etkisiz kılınmak istenen öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
27
Rexx/Curses Kütüphanesi
CurAttributes
RC = CurAttributes(karakter/öznitelik)
Call CurAttributes karakter/öznitelik
Erek
“karakter/öznitelik” değiştirgesiyle desteklenen öznitelik oran değerini sunan dizgisel bir değerin elde edilmesini sağlamak (sağlar).
Değiştirge(ler)
karakter/öznitelik
“CurInch()” ve “CurWinch()” işlevi tarafından gönderilen değer.
Dönüş Değer(ler)i
“karakter/öznitelik” değiştirgesiyle işaret edilen değere karşılık gelen öznitelik oranını belirten sayısal değer.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurAttributes.rexx -- *//* 04 */ /* -- Aciklayim : Curttributes() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurClear()/* 14 */ RC = CurErase()/* 15 */ RC = CurRefresh()/* 16 */ /* 17 */ /* - Burada oznitelik degeri elde ediliyor. - */ /* 18 */ ko = CurInch() /* 19 */ sonuc = CurAttributes(ko)/* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('Oznitelik Orani : '||sonuc)/* 23 */ RC = CurRefresh() /* 24 */ /* 25 */ RC = CurMove(8, 5)/* 26 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 27 */ RC = CurGetch()/* 28 */ RC = CurRefresh() /* 29 */ /* 30 */ RC = CurEndwin()/* 31 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
28
Rexx/Curses Kütüphanesi
Açıklayım(lar)
• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurChartext() işlevi hakkındaki bilgiye bakınız.• CurInch() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.• CurWinch() işlevi hakkındaki bilgiye bakınız.
CurAttron
RC = CurAttron(ö1, … ,ö5)
Call CurAttron ö1, … ,ö5
Erek
“ö1, … ,ö5” değiştirgesiyle belirtilen öznitelik değerlerinin etkin kılınmasını sağlamak (sağlar).
Değiştirge(ler)
ö1, … ,ö5
Etkin kılınacak öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
29
Rexx/Curses Kütüphanesi
Açıklayım(lar)
• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.
CurAttrset
RC = CurAttrset(ö1, … ,ö5)
Call CurAttrset ö1, … ,ö5
Erek
“ö1, … ,ö5” değiştirgesiyle belirtilen özniteliklerin varsayılan pencere için varsayılan öznitelikler olmasını sağlamak (sağlar).
Bu işlev yardımıyla Rexx/Curses kütüphanesinde tanımlı olan renk dizgileri etkin kılınabilir.
Değiştirge(ler)
ö1, … ,ö5
Varsayılan pencere için varsayılan öznitelik olması istenen öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
30
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurAttrset.rexx -- *//* 04 */ /* -- Aciklayim : CurAttrset() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 19 */ RC = CurAttrset('A_BOLD A_REVERSE')/* 20 */ RC = CurMove(5, 5)/* 21 */ RC = CurAddstr("Koyu ve Ters Etki : 'A_BOLD A_REVERSE'")/* 22 */ RC = CurRefresh() /* 23 */ /* 24 */ RC = CurAttrset('A_BOLD')/* 25 */ RC = CurMove(7, 5)/* 26 */ RC = CurAddstr("Koyu Etki : 'A_BOLD'")/* 27 */ RC = CurRefresh() /* 28 */ /* 29 */ RC = CurAttrset('A_NORMAL')/* 30 */ RC = CurMove(9, 5)/* 31 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 32 */ RC = CurRefresh() /* 33 */ RC = CurGetch()/* 34 */ /* 35 */ RC = CurEndwin()/* 36 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Renkler” konusuna bakınız.• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.• CurStandout() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
31
Rexx/Curses Kütüphanesi
CurBox
RC = CurBox(pencere, dikey_kar, yatay_kar)
Call CurBox pencere, dikey_kar, yatay_kar
Erek
Varsayılan ya da “pencere” değiştirgesiyle belirtilen pencerenin çevresinde bir kutunun çizilmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Kendisinden önce kullanılan “CurNewwin()” işlevinden dönen değer. Varsayılan değeri, ‘stdscr’ şeklinde tanımlıdır.
dikey_kay
Kutu çizimi sırasında kullanılacak dikey karakter.
yatay_kar
Kutu çizimi sırasında kullanılacak yatay karakter.
“dikey_kar” ve “yatay_kar” değiştirgelerinin her ikisine de sıfır (0) değeri atanırsa, sırasıyla ACS_VLINE ve ACS_HLINE seçeneksel karakterleri dikkate alınır.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
32
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurBox.rexx -- *//* 04 */ /* -- Aciklayim : CurBox() islevi icin ornek -- *//* 05 */ /* -- betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 19 */ /* - Kutu cizimi gerceklestiriliyor. - */ /* 20 */ RC = CurBox(stdscr, '|', '-') /* 21 */ /* 22 */ RC = CurMove(5, 5)/* 23 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 24 */ RC = CurRefresh() /* 25 */ RC = CurGetch()/* 26 */ /* 27 */ RC = CurEndwin()/* 28 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurNewwin() işlevi hakkındaki bilgiye bakınız.• CurDelwin() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
33
Rexx/Curses Kütüphanesi
CurCbreak
RC = CurCbreak()
Call CurCbreak
Erek
Kullanılan uçbirimin “cbreak” kipinde çalışmasını sağlamak (sağlar).
“cbreak” kipinde, kullanıcı tarafından girilen karakterler derhal çalışan uygulamaya aktarılır. Sil/Öldür karakterleri işlenmez.
“cbreak” kipinin dışında, ilgili uçbirim aygıtı girilen karakterleri, bir yeni satır (NL; New Line) ya da taşıyışsal dönüş (CR; Carriage Return) karakteri girilinceye kadar ara bellekte saklamaz.
Askıya alış (interrupt) ve akış denetim (flow control) karakterleri “cbreak” kipinde etkisiz kılınmıştır.
Bu işlev kullanılsın ya da kullanılmasın, kullanılan uçbirim, “cbreak” kipinde olabilir de olmayabilir de.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
34
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurCbreak.rexx -- *//* 04 */ /* -- Aciklayim : CurCbreak() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- Kullanilan ucbirim 'cbreak' kipinde -- */ /* 14 */ /* -- calistiriliyor. -- */ /* 15 */ RC = CurCbreak()/* 16 */ /* 17 */ RC = CurClear()/* 18 */ RC = CurErase()/* 19 */ RC = CurRefresh()/* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ RC = CurGetch()/* 25 */ /* 26 */ RC = CurEndwin()/* 27 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurNocbreak() işlevi hakkındaki bilgiye bakınız.• CurNoraw() işlevi hakkındaki bilgiye bakınız.• CurRaw() işlevi hakkındaki bilgiye bakınız.
CurChartext
RC = CurChartext(karakter/öznitelik)
Call CurChartext karakter/öznitelik
Erek
“karakter/öznitelik” değiştirgesiyle desteklenen karakter oran değerini sunan dizgisel bir değerin elde edilmesini sağlamak (sağlar).
Değiştirge(ler)
karakter/öznitelik
“CurInch()” ve “CurWinch()” işlevi tarafından gönderilen değer.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
35
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
“karakter/öznitelik” değiştirgesiyle işaret edilen değere karşılık gelen karakter oranını işaret eden sayısal değer.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurChartext.rexx -- *//* 04 */ /* -- Aciklayim : CurChartext() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurClear()/* 14 */ RC = CurErase()/* 15 */ RC = CurRefresh()/* 16 */ /* 17 */ /* - Burada karakter degeri elde ediliyor. - */ /* 18 */ ko = CurInch() /* 19 */ sonuc = CurChartext(ko)/* 20 */ If sonuc == ' ' Then sonuc = 'TANIMSIZ_KARAKTER_ORANI'/* 21 */ /* 22 */ RC = CurMove(5, 5)/* 23 */ RC = CurAddstr('Karakter Orani : '||sonuc)/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurMove(8, 5)/* 27 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 28 */ RC = CurGetch()/* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurEndwin()/* 32 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurInch() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.• CurWinch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
36
Rexx/Curses Kütüphanesi
CurClear
RC = CurClear()
Call CurClear
Erek
Kullanılan uçbirim içeriğinin temizlenmesini sağlamak (sağlar).
İlgili uçbirim içeriğinin temizlendiğinden emin olunmak isteniyorsa, “CurErase()” işlevi de ardı sıra çağırılmalıdır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
37
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurClear.rexx -- *//* 04 */ /* -- Aciklayim : CurClear() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ /* -- Ucbirim icerigi temizleniyor. -- */ /* 15 */ RC = CurClear()/* 16 */ /* 17 */ RC = CurMove(5, 5)/* 18 */ RC = CurAddstr('CurClear() islevi icin ornek.')/* 19 */ RC = CurRefresh() /* 20 */ /* 21 */ RC = CurMove(7, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ /* 25 */ RC = CurGetch()/* 26 */ /* 27 */ RC = CurEndwin()/* 28 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
38
Rexx/Curses Kütüphanesi
CurClearok
RC = CurClearok(pencere, mantıksal)
Call CurClearok pencere, mantıksal
Erek
Ardı sıra çağrılacak “CurWrefresh()” işlevi için hazırlık olması açısından, kullanılan uçbirimdeki etkin pencere içeriğinin temizlenmesini ve yeniden çizilmesini sağlamak (sağlar).
Etkin pencere içeriği, “pencere” değiştirgesiyle işaret edilen penceredir.
Değiştirge(ler)
pencere
Temizlik işleminin yapılacağı pencerenin tanımı.
Bu tanımsal değer, “CurNewwin()” işlevinin geri gönderdiği değerdir.
mantıksal
1: Temizleyim işlemi yapılacak.
0: Temizleyim işlemi yapılmayacak.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
39
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurClearok.rexx -- *//* 04 */ /* -- Aciklayim : CurClearok() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ /* -- Ucbirim icerigi temizleniyor. -- */ /* 15 */ RC = CurClearok(stdscr, 1)/* 16 */ /* 17 */ RC = CurMove(5, 5)/* 18 */ RC = CurAddstr('CurClearok() islevi icin ornek.')/* 19 */ RC = CurRefresh() /* 20 */ /* 21 */ RC = CurMove(7, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ /* 25 */ RC = CurGetch()/* 26 */ /* 27 */ RC = CurEndwin()/* 28 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
40
Rexx/Curses Kütüphanesi
CurClrtobot
RC = CurClrtobot()
Call CurClrtobot
Erek
Kullanılan pencerede, imlecin bulunduğu konumdan, bulunulan satırın sonuna kadar, tüm karakterlerin ve pencerenin içerisinde kalan diğer satırların temizlenmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
41
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurClrtobot.rexx -- *//* 04 */ /* -- Aciklayim : CurClrtobot() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear()/* 15 */ RC = CurErase()/* 16 */ RC = CurRefresh()/* 17 */ /* 18 */ RC = CurMove(5, 5)/* 19 */ RC = CurAddstr('CurClrtobot() islevi icin ornek. - **********')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(7, 5)/* 23 */ RC = CurAddstr('Yildizlari silmek icin herhangi bir tusa basiniz.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurMove(5, 40)/* 27 */ RC = CurGetch()/* 28 */ /* 29 */ /* -- CurClrtobot() islevi cagiriliyor... -- */ /* 30 */ RC = CurClrtobot()/* 31 */ /* 32 */ RC = CurMove(7, 5)/* 33 */ RC = CurAddstr('Yildizlarin hepsi silindi.')/* 34 */ /* 35 */ RC = CurMove(8, 5)/* 36 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 37 */ RC = CurRefresh() /* 38 */ /* 39 */ RC = CurGetch()/* 40 */ /* 41 */ RC = CurEndwin()/* 42 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
42
Rexx/Curses Kütüphanesi
CurClrtoeol
RC = CurClrtoeol()
Call CurClrtoeol
Erek
Kullanılan pencerede, imlecin bulunduğu konumdan, ilgili satırın sonuna kadar, var olan tüm karakterlerin silinmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
43
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurClrtoeol.rexx -- *//* 04 */ /* -- Aciklayim : CurClrtoeol() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear()/* 15 */ RC = CurErase()/* 16 */ RC = CurRefresh()/* 17 */ /* 18 */ RC = CurMove(5, 5)/* 19 */ RC = CurAddstr('CurClrtoeol() islevi icin ornek. - **********')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(7, 5)/* 23 */ RC = CurAddstr('Yildizlari silmek icin herhangi bir tusa basiniz.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurMove(5, 40)/* 27 */ RC = CurGetch()/* 28 */ /* 29 */ RC = CurClrtobot()/* 30 */ /* 31 */ RC = CurMove(7, 5)/* 32 */ /* 33 */ /* -- CurClrtoeol() islevi cagiriliyor... -- */ /* 34 */ /* -- Bu islemin bir sonucu olarak, 7. satir ve 5. dikec -- *//* 35 */ /* -- konumundan itibaren, var olan tum karakterler -- *//* 36 */ /* -- siliniyor. -- *//* 37 */ RC = CurClrtoeol()/* 38 */ /* 39 */ RC = CurAddstr('Yildizlarin hepsi silindi.')/* 40 */ /* 41 */ RC = CurMove(8, 5)/* 42 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 43 */ RC = CurRefresh() /* 44 */ /* 45 */ RC = CurGetch()/* 46 */ /* 47 */ RC = CurEndwin()/* 48 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
44
Rexx/Curses Kütüphanesi
CurCursSet
RC = CurCursSet(görünürlülük)
Call CurCursSet görünürlülük
Erek
İmlecin metinsel görünümünün seçeneksel olarak değiştirilmesini sağlamak (sağlar).
Değiştirge(ler)
görünürlülük
İmlecin metinsel görünümü için etkin kılınmak istenen görünürlülük değeri.
0: İmleç görünmez kılınır.1: İmleç normal olarak görünür kılınır. (Altçizgi)2: İmleç yüksek oranlı olarak görünür kılınır. (Dolgun Kare)
Dönüş Değer(ler)i
İmlecin önceki görünürlülük değerini işaret eden değer.
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
45
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurCursSet.rexx -- *//* 04 */ /* -- Aciklayim : CurCursSet() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear()/* 15 */ RC = CurErase()/* 16 */ RC = CurRefresh()/* 17 */ /* 18 */ RC = CurMove(5, 5)/* 19 */ RC = CurAddstr('CurCursSet() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ /* -- 'Normal' gorunumlu imlec. -- */ /* 23 */ RC = CurCursSet(1) /* 24 */ RC = CurMove(7, 5)/* 25 */ RC = CurAddstr('Imlec gorunumu su anda normal (Altcizgi).')/* 26 */ RC = CurMove(8, 5)/* 27 */ RC = CurAddstr('Devam icin herhangi bir tusa basiniz.')/* 28 */ RC = CurRefresh() /* 29 */ RC = CurGetch()/* 30 */ /* 31 */ /* -- 'Yuksek' gorunumlu imlec. -- */ /* 32 */ RC = CurCursSet(2) /* 33 */ RC = CurMove(10, 5)/* 34 */ RC = CurAddstr('Imlec gorunumu su anda yuksek (Dolgun Kare).')/* 35 */ RC = CurMove(11, 5)/* 36 */ RC = CurAddstr('Devam icin herhangi bir tusa basiniz.')/* 37 */ RC = CurRefresh() /* 38 */ RC = CurGetch()/* 39 */ /* 40 */ /* -- 'Gorunmez' gorunumlu imlec. -- */ /* 41 */ RC = CurCursSet(0) /* 42 */ RC = CurMove(13, 5)/* 43 */ RC = CurAddstr('Imlec gorunumu su anda gorunmez ( ).')/* 44 */ RC = CurMove(15, 5)/* 45 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 46 */ RC = CurRefresh() /* 47 */ RC = CurGetch()/* 48 */ /* 49 */ RC = CurEndwin()/* 50 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurEcho() işlevi hakkındaki bilgiye bakınız.• CurNoecho() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
46
Rexx/Curses Kütüphanesi
CurDelch
RC = CurDelch()
Call CurDelch
Erek
Kullanılan pencerede imlecin altında bulunan karakterin silinmesini sağlamak (sağlar).
Aynı satırda sağda kalan karakterler bir imleç konumu sola kaydırılır.
En son karakterin konumu, bir boşluk karakteri ile doldurulur.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
47
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurDelch.rexx -- *//* 04 */ /* -- Aciklayim : CurDelch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear()/* 15 */ RC = CurErase()/* 16 */ RC = CurRefresh()/* 17 */ /* 18 */ RC = CurMove(5, 5)/* 19 */ RC = CurAddstr('CurDelch() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(7, 5)/* 23 */ RC = CurAddstr('Devam icin herhangi bir tusa basiniz')/* 24 */ RC = CurMove(9, 5)/* 25 */ RC = CurAddstr('Imlec su anda burada.')/* 26 */ RC = CurMove(9, 19)/* 27 */ RC = CurRefresh() /* 28 */ RC = CurGetch() /* 29 */ /* 30 */ /* -- CurDelch() islevi cagiriliyor. -- */ /* 31 */ RC = CurDelch() /* 32 */ /* 33 */ RC = CurMove(11, 5)/* 34 */ RC = CurAddstr("'burada' kelimesinin 'b' harfi silindi.")/* 35 */ RC = CurMove(13, 5)/* 36 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 37 */ RC = CurRefresh() /* 38 */ RC = CurGetch()/* 39 */ /* 40 */ RC = CurEndwin()/* 41 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurDeleteln() işlevi hakkındaki bilgiye bakınız.• CurWdelch() işlevi hakkındaki bilgiye bakınız.• CurWdeleteln() işlevi hakkındaki bilgiye bakınız.• CurDelwin() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
48
Rexx/Curses Kütüphanesi
CurDeleteln
RC = CurDeleteln()
Call CurDeleteln
Erek
Kullanılan pencerede imlecin altında bulunan satırın silinmesini sağlamak (sağlar).
İmlecin bulunduğu satırın altındaki tüm satırlar, bir satır yukarı taşınır.
Bu işlemler sırasında, imlecin konumu asla değişmez.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
49
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurDeleteln.rexx -- *//* 04 */ /* -- Aciklayim : CurDeleteln() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear()/* 15 */ RC = CurErase()/* 16 */ RC = CurRefresh()/* 17 */ /* 18 */ RC = CurMove(5, 5)/* 19 */ RC = CurAddstr('05 - CurDeleteln() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(7, 5)/* 23 */ RC = CurAddstr('07 - Devam icin herhangi bir tusa basiniz')/* 24 */ RC = CurMove(9, 5)/* 25 */ RC = CurAddstr('09 - Imlec su anda burada.')/* 26 */ RC = CurMove(9, 19)/* 27 */ RC = CurRefresh() /* 28 */ RC = CurGetch() /* 29 */ /* 30 */ /* -- CurDeleteln() islevi cagiriliyor. -- */ /* 31 */ RC = CurDeleteln()/* 32 */ /* 33 */ RC = CurMove(11, 5)/* 34 */ RC = CurAddstr('11 - 09 numarali satir silindi. : 11 -> 10')/* 35 */ RC = CurMove(13, 5)/* 36 */ RC = CurAddstr('13 - Cikis icin bir tusa basiniz. : 13 -> 12')/* 37 */ RC = CurRefresh() /* 38 */ RC = CurGetch()/* 39 */ /* 40 */ RC = CurEndwin()/* 41 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurDelch() işlevi hakkındaki bilgiye bakınız.• CurWdelch() işlevi hakkındaki bilgiye bakınız.• CurWdeleteln() işlevi hakkındaki bilgiye bakınız.• CurDelwin() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
50
Rexx/Curses Kütüphanesi
CurDelwin
RC = CurDelwin(pencere)
Call CurDelwin pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerenin varlıksal olarak silinmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Varlıksal olarak silinmek istenen pencereyi tanımlayan değer.
Söz konusu değer, “CurNewwin()” işlevinin geri gönderdiği değerdir.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
51
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurDelwin.rexx -- *//* 04 */ /* -- Aciklayim : CurDelwin() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 19 */ /* -- 'p1' isimli pencere olusturuluyor. -- */ /* 20 */ p1 = CurNewwin(15, 65, 5, 5) /* 21 */ /* 22 */ /* -- 'p1' gorunurlulugu icin kutu ciziliyor. -- */ /* 23 */ RC = CurBox(p1, '|', '-') /* 24 */ /* 25 */ RC = CurWmove(p1, 2, 3)/* 26 */ RC = CurWaddstr(p1, 'CurDelwin() islevi icin ornek')/* 27 */ RC = CurWrefresh(p1) /* 28 */ /* 29 */ RC = CurWmove(p1, 4, 3)/* 30 */ RC = CurWaddstr(p1, "'p1' penceresi icin kutu cizildi.")/* 31 */ RC = CurWrefresh(p1) /* 32 */ /* 33 */ RC = CurWmove(p1, 6, 3)/* 34 */ RC = CurWaddstr(p1, 'Cikis islemi sonrasi pencere silinecek.')/* 35 */ RC = CurWrefresh(p1) /* 36 */ /* 37 */ RC = CurWmove(p1, 8, 3)/* 38 */ RC = CurWaddstr(p1, 'Cikis icin herhangi bir tusa basiniz.')/* 39 */ RC = CurWrefresh(p1) /* 40 */ /* 41 */ RC = CurWgetch(p1)/* 42 */ /* 43 */ /* -- 'p1' penceresi varliksal olarak siliniyor. -- */ /* 44 */ RC = CurDelwin(p1) /* 45 */ /* 46 */ RC = CurEndwin()/* 47 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurNewwin() işlevi hakkındaki bilgiye bakınız.• CurBox() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
52
Rexx/Curses Kütüphanesi
CurEcho
RC = CurEcho()
Call CurEcho
Erek
Kullanılan pencerede kullanıcı tarafından girilen karakterlerin görünür kılınmasını sağlamak (sağlar).
Başlangıçsal olarak (aksi belirtilmediği sürece), kullanıcı tarafından girilen karakterler görünür kılınmıştır.
Curses/NCurses kütüphanesindeki “echo()” ve “noecho()” işlevlerinin ardıl kullanımı, kullanıcı girilecek karakterler için ara belleği boşaltmaz.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
53
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurEcho.rexx -- *//* 04 */ /* -- Aciklayim : CurEcho() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear() /* 16 */ RC = CurErase() /* 17 */ RC = CurRefresh() /* 18 */ /* 19 */ RC = CurMove(5, 5) /* 20 */ RC = CurAddstr('CurEcho() islevi icin ornek.')/* 21 */ RC = CurRefresh() /* 22 */ /* 23 */ /* -- 'CurNoecho()' islevi etkin kiliniyor. -- */ /* 24 */ RC = CurNoecho() /* 25 */ RC = CurMove(7, 5) /* 26 */ RC = CurAddstr('Yankilayis yok. - Basilan tus gorunmez.')/* 27 */ RC = CurRefresh() /* 28 */ /* 29 */ RC = CurMove(8, 5) /* 30 */ RC = CurAddstr('Yankilayis icin herhangi bir tusa basin.')/* 31 */ RC = CurRefresh() /* 32 */ RC = CurGetch()/* 33 */ /* 34 */ /* -- 'CurEcho()' islevi etkin kiliniyor. -- */ /* 35 */ RC = CurEcho() /* 36 */ RC = CurMove(10, 5) /* 37 */ RC = CurAddstr('Yankilayis var. - Basilan tus gorunur.')/* 38 */ RC = CurRefresh() /* 39 */ /* 40 */ RC = CurMove(11, 5) /* 41 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 42 */ RC = CurRefresh() /* 43 */ RC = CurGetch()/* 44 */ /* 45 */ RC = CurEndwin()/* 46 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurNoecho() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
54
Rexx/Curses Kütüphanesi
CurEndwin
RC = CurEndwin()
Call CurEndwin
Erek
“Curses” ve/veya “New Curses” oturumuna ait sürecin geçici olarak askıya alınmasını ya da tamamen terk edilmesini sağlamak (sağlar).
Bu işlev; “tty” kiplerini geri yükler, imleci ekranın sol üst köşesine taşır ve uçbirimi uygun görsel olmayan kipe yönlendirir.
Geçici olarak sonlandırılan “Curses” ve/veya “New Curses” oturumuna geri dönmek amacıyla, “CurRefresh()” ya da “CurDoupdate()” işlevi mutlaka çağrılmalıdır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
55
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurEndwin.rexx -- *//* 04 */ /* -- Aciklayim : CurEndwin() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 19 */ RC = CurBox(stdscr, '|', '-') /* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('CurEndwin() islevi icin ornek.')/* 23 */ RC = CurRefresh() /* 24 */ /* 25 */ RC = CurMove(7, 5)/* 26 */ RC = CurAddstr('Cikis sonrasi CurEndwin() yurutulecek.')/* 27 */ RC = CurRefresh() /* 28 */ /* 29 */ RC = CurMove(9, 5)/* 30 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 31 */ RC = CurRefresh() /* 32 */ /* 33 */ RC = CurGetch()/* 34 */ /* 35 */ /* -- CurEndwin() islevi cagriliyor. -- */ /* 36 */ RC = CurEndwin()/* 37 */ /* 38 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Sorgulayış/Kuruluş/Kaldırış” konusuna bakınız.• “Oturum Başlatış/Sonlandırış” konusuna bakınız.• CurInitscr() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
56
Rexx/Curses Kütüphanesi
CurErase
RC = CurErase()
Call CurErase
Erek
Kullanılan penceredeki her konuma boşluk çoğaltımlarının yerleştirilmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
57
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurErase.rexx -- *//* 04 */ /* -- Aciklayim : CurErase() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ /* 16 */ /* -- CurErase() islevi cagriliyor. -- */ /* 17 */ RC = CurErase() /* 18 */ /* 19 */ RC = CurRefresh() /* 20 */ /* 21 */ RC = CurMove(5, 5) /* 22 */ RC = CurAddstr('CurErase() islevi icin ornek.')/* 23 */ RC = CurRefresh() /* 24 */ /* 25 */ RC = CurMove(7, 5) /* 26 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 27 */ RC = CurRefresh() /* 28 */ /* 29 */ RC = CurGetch()/* 30 */ /* 31 */ RC = CurEndwin()/* 32 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
58
Rexx/Curses Kütüphanesi
CurGetch
RC = CurGetch()
Call CurGetch
Erek
Kullanılan pencere ile ilişkilendirilmiş uçbirimden bir karakterin okunmasını sağlamak (sağlar).
Kullanılan pencere için “CurNodelay()” işlevi etkin kılınmışsa ve herhangi bir veri girişi yapılmamışsa, ERR değeri geri gönderilir.
Kullanılan pencere için “CurNodelay()” işlevi etkisiz kılınmamışsa, işletim dizgesi girilen verileri ilgili izlenceye aktarana kadar girilen veriler tutulacaktır. “CurCbreak()” işlevinin ayarına dayanan bu durum, bir yeni satır karakteri sonrası girilen bir karakterden sonra meydana gelecektir.
“CurNoecho()” işlevi kullanılmadığı sürece, girilen karakter ekranda yankılanacaktır.
Kullanılan pencere için “CurKeypad()” işlevi etkin kılınmışsa ve bir işlev tuşuna basılmışsa, ilgili işlev tuşu için geçerli olan simge, sıra karakterlerinin yerine geri gönderilecektir. Olası işlev tuşlarının isimleri, Rexx/Curses kütüphanesinde “KEY_” dizgisiyle başlamaktadır.
ESC gibi bir işlev tuşunun ilk karakteri elde edilirse, zamanlayıcı ayarlı demektir. Geriye kalan karakter sırasının devamı (kalanı) öngörülen zamanda gelmezse, girilen karakter(ler) ilgili izlenceye geçirilecektir. Aksi halde, işlev tuşunun değeri geri gönderilecektir.
Bundan dolayı, bazı uçbirimlerde, ilgili izlenceye aktarılan kaçış tuşu değeri öncesinde, kullanıcı ESC tuşuna bastıktan sonra bir gecikiş yaşanacaktır. (Tekil bir işlev tuşu için ESC tuşunun programcı tarafından kullanımı, vazgeçilecek –dikkate alınmayacak- bir durumdur.)
Değiştirge(ler)
Yok. (-)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
59
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
Örnek Kullanım
Birinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurGetch01.rexx -- *//* 04 */ /* -- Aciklayim : CurGetch() islevi icin -- *//* 05 */ /* -- 1. ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurClear() /* 17 */ RC = CurErase() /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurGetch() islevi icin 1. ornek. - Yanki var.')/* 22 */ RC = CurMove(6, 5) /* 23 */ RC = CurAddstr('Islev tuslarini kullanmayiniz.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurEcho() /* 27 */ /* 28 */ RC = CurMove(8, 5) /* 29 */ RC = CurAddstr('Bir tusa basiniz: ')/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurMove(8, 23) /* 33 */ /* 34 */ /* -- Tus okuyus islemi yapiliyor. -- */ /* 35 */ /* -- Islev tuslari kullanilamaz. -- *//* 36 */ tus = CurGetch()/* 37 */ /* 38 */ RC = CurMove(10, 5) /* 39 */ RC = CurAddstr('Basilan tus: '||tus)/* 40 */ RC = CurRefresh() /* 41 */ /* 42 */ RC = CurMove(12, 5) /* 43 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 44 */ RC = CurRefresh() /* 45 */ /* 46 */ RC = CurGetch()/* 47 */ /* 48 */ RC = CurEndwin()/* 49 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
60
Rexx/Curses Kütüphanesi
İkinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurGetch02.rexx -- *//* 04 */ /* -- Aciklayim : CurGetch() islevi icin -- *//* 05 */ /* -- 2. ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr()/* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurClear() /* 17 */ RC = CurErase() /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurGetch() islevi icin 2. ornek. - Yanki yok.')/* 22 */ RC = CurMove(6, 5) /* 23 */ RC = CurAddstr('Islev tuslari kullanilabilir.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurNoecho() /* 27 */ /* 28 */ RC = CurMove(8, 5) /* 29 */ RC = CurAddstr('Bir tusa basiniz: ')/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurMove(8, 23) /* 33 */ /* 34 */ /* -- Ozel tus isimlerinin elde edilebilmesi -- *//* 35 */ /* -- icin CurKeypad() cagriliyor. -- *//* 36 */ RC = CurKeypad(stdscr, 1)/* 37 */ /* 38 */ /* -- Tus okuyus islemi yapiliyor. -- */ /* 39 */ /* -- Islev tuslari kullanilamaz. -- *//* 40 */ tus = CurGetch()/* 41 */ /* 42 */ RC = CurMove(10, 5) /* 43 */ RC = CurAddstr('Basilan tus: '||tus)/* 44 */ RC = CurRefresh() /* 45 */ /* 46 */ RC = CurMove(12, 5) /* 47 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 48 */ RC = CurRefresh() /* 49 */ /* 50 */ RC = CurGetch()/* 51 */ /* 52 */ RC = CurEndwin()/* 53 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurGetstr() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.• CurWgetstr() işlevi hakkındaki bilgiye bakınız.• CurGetMouseInfo() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
61
Rexx/Curses Kütüphanesi
CurGetstr
RC = CurGetstr()
Call CurGetstr
Erek
Kullanılan pencere ile ilişkilendirilmiş uçbirimden bir dizginin (karakter katarının) okunmasını sağlamak (sağlar).
Bu işlev, “CurGetch()” işlevinin ardıl çağrımı ile aynı etkiye sahiptir. Söz konusu bu etki, bir yeni satır (NL; New Line) ya da taşıyıcı dönüşü (CR; Carriage Return) karakteri ile karşılaşılıncaya kadar devam eder.
Sonuç dizgisi, kendisine çağırana geri gönderilir.
Kullanıcı tarafından girilen siliş ve öldürüş karakterleri, işlev tuşları gibi özel tuşlar olarak yorumlanır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.• CurWgetstr() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
62
Rexx/Curses Kütüphanesi
CurGetyx
RC = CurGetyx(pencere, x, y)
Call CurGetyx pencere, x, y
Erek
“pencere” değişkesiyle belirtilen pencerede, imlecin bulunduğu konumun elde edilmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
x
C programlama dilinde yazılan Curses/NCurses kütüphanesindeki “getyx()” işlevi ile uyumlu olması açısından gerekli olan ve yatay düzlemi işaret eden değiştirge.
Bu değiştirgeye herhangi bir değer atanmaz. Sadece olduğu gibi kullanılır.
y
C programlama dilinde yazılan Curses/NCurses kütüphanesindeki “getyx()” işlevi ile uyumlu olması açısından gerekli olan ve dikey düzlemi işaret eden değiştirge.
Bu değiştirgeye herhangi bir değer atanmaz. Sadece olduğu gibi kullanılır.
Dönüş Değer(ler)i
x y
Başarılı sonuçlanış halinde, imlecin bulunduğu satırı ve dikeci işaret eden sayısal değer.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
63
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurGetyx.rexx -- *//* 04 */ /* -- Aciklayim : CurGetyx() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurGetyx() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ /* -- CurGetyx() islevi cagiriliyor. -- */ /* 23 */ /* -- "x" ve "y" degiskenleri mutlaka -- *//* 24 */ /* -- belirtilmelidir. -- *//* 25 */ konum = CurGetyx(stdscr, x, y)/* 26 */ /* 27 */ RC = CurMove(7, 5) /* 28 */ RC = CurAddstr('Imlecin konumu : '||konum)/* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurMove(9, 5) /* 32 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 33 */ RC = CurRefresh() /* 34 */ /* 35 */ RC = CurGetch()/* 36 */ /* 37 */ RC = CurEndwin()/* 38 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurMove() işlevi hakkındaki bilgiye bakınız.• CurWmove() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
64
Rexx/Curses Kütüphanesi
CurHasAcs
RC = CurHasAcs()
Call CurHasAcs
Erek
Rexx/Curses kütüphanesinin dikkate aldığı Curses/NCurses kütüphanesinin SKT (Seçeneksel Karakter Takımı) desteğine sahip olup olmadığının anlaşılmasını sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
1: SKT desteği var.
0: SKT desteği yok.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
65
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurHasAcs.rexx -- *//* 04 */ /* -- Aciklayim : CurHasAcs() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurHasAcs() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ /* -- SKT desteginin durumu aliniyor. -- */ /* 23 */ skt_durum = CurHasAcs() /* 24 */ /* 25 */ If skt_durum == 1 Then sonuc = 'SKT destegi var.' /* 26 */ Else sonuc = 'SKT destegi yok.' /* 27 */ /* 28 */ RC = CurMove(7, 5) /* 29 */ RC = CurAddstr('SKT Destek Durumu : '||sonuc)/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurMove(9, 5) /* 33 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 34 */ RC = CurRefresh() /* 35 */ /* 36 */ RC = CurGetch()/* 37 */ /* 38 */ RC = CurEndwin()/* 39 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
Yok. (-)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
66
Rexx/Curses Kütüphanesi
CurHasColors
RC = CurHasColors()
Call CurHasColors
Erek
Kullanılan uçbirimin renk desteğine ve renkleri işleyebilme yeteneğine sahip olup olmadığının öğrenilmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
1: Renk desteği ve renkleri işleyebilme yeteneği var.
0: Renk desteği ve renkleri işleyebilme yeteneği yok.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
67
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurHasColors.rexx -- *//* 04 */ /* -- Aciklayim : CurHasColors() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurHasColors() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ /* -- Renk desteginin durumu aliniyor. -- */ /* 23 */ renk_durum = CurHasColors() /* 24 */ /* 25 */ If renk_durum == 1 Then sonuc = 'Renk destegi var.' /* 26 */ Else sonuc = 'Renk destegi yok.' /* 27 */ /* 28 */ RC = CurMove(7, 5) /* 29 */ RC = CurAddstr('Renk Destek Durumu : '||sonuc)/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurMove(9, 5) /* 33 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 34 */ RC = CurRefresh() /* 35 */ /* 36 */ RC = CurGetch()/* 37 */ /* 38 */ RC = CurEndwin()/* 39 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurInitPair() işlevi hakkındaki bilgiye bakınız.• CurStartColor() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
68
Rexx/Curses Kütüphanesi
CurInch
RC = CurInch()
Call CurInch
Erek
Kullanılan pencerede, imlecin konumlandığı yerin altındaki karakterin ve özniteliklerin elde edilmesini sağlamak (sağlar).
Elde edilen bu değer, elde edildiği şekliyle kullanılamaz. Kullanabilmek için “CurAttributes()” ve “CurChartext()” işlevleri kullanılarak bileşenlerine ayrılması gerekmektedir.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
69
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurInch.rexx -- *//* 04 */ /* -- Aciklayim : CurInch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurClear()/* 14 */ RC = CurErase()/* 15 */ RC = CurRefresh()/* 16 */ /* 17 */ /* -- Burada karakter/oznitelik oransal degeri -- */ /* 18 */ /* -- elde ediliyor. -- */ /* 19 */ ko_orani = CurInch() /* 20 */ /* 21 */ karakter_degeri = CurChartext(ko_orani)/* 22 */ If karakter_degeri == ' ' Then/* 23 */ Do/* 24 */ kd_sonuc = 'TANIMSIZ_KARAKTER_ORANI'/* 25 */ End/* 26 */ ;;; /* 27 */ /* 28 */ oznitelik_degeri = CurAttributes(ko_orani)/* 29 */ /* 30 */ RC = CurMove(5, 5)/* 31 */ RC = CurAddstr('CurInch() islevi icin ornek.')/* 32 */ RC = CurRefresh() /* 33 */ /* 34 */ RC = CurMove(7, 5)/* 35 */ RC = CurAddstr('Karakter Degeri : '||kd_sonuc)/* 36 */ RC = CurMove(8, 5)/* 37 */ RC = CurAddstr('Oznitelik Degeri : '||oznitelik_degeri)/* 38 */ RC = CurRefresh() /* 39 */ /* 40 */ RC = CurMove(10, 5)/* 41 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 42 */ RC = CurRefresh() /* 43 */ RC = CurGetch()/* 44 */ /* 45 */ RC = CurEndwin()/* 46 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurChartext() işlevi hakkındaki bilgiye bakınız.• CurWinch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
70
Rexx/Curses Kütüphanesi
CurInitPair
RC = CurInitPair(çift_no, ön, arka)
Call CurInitPair çift_no, ön, arka
Erek
“ön” ve “arka” değiştirgesiyle belirtilen renk değerlerini dikkate alarak yeni bir renk çiftinin tanımlanmasını sağlamak (sağlar).
“çift_num” değiştirgesiyle işaret edilen renk çifti daha önce başlatılmışsa, ekran tazelenir ve ilgili renk çiftine karşılık gelen yeni renk karışımı etkin kılınır.
Değiştirge(ler)
çift_num
Tanımlanmak istenen renk çiftini işaret edecek sayısal değer.
“çift_num” değiştirgesiyle belirtilebilecek değer(ler), 1 ile “COLOR_PAIRS” değişkeninin sahip olduğu değerin 1 eksiğine karşılık gelen sayısal değer arasındadır.
ön
Ön tasarda kullanılmak istenen rengi tanımlayan ve “Renkler” konusunda yer verilen dizgisel değerlerden herhangi birisi.
arka
Arka tasarda kullanılmak istenen rengi tanımlayan ve “Renkler” konusunda yer verilen dizgisel değerlerden herhangi birisi.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
71
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurInitPair.rexx -- *//* 04 */ /* -- Aciklayim : CurInitPair() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurInitPair() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurHasColors() /* 23 */ If RC == 1 Then/* 24 */ Do/* 25 */ /* -- 1 ve 2 numarali renk ciftleri tanimlaniyor. -- *//* 26 */ RC = CurInitPair(1, 'COLOR_WHITE', 'COLOR_BLACK')/* 27 */ RC = CurInitPair(2, 'COLOR_BLACK', 'COLOR_RED')/* 28 */ /* 29 */ /* -- 2 numarali renk cifti etkin kiliniyor. -- *//* 30 */ RC = CurAttrset('COLOR_PAIR(2)')/* 31 */ /* 32 */ RC = CurMove(7, 5) /* 33 */ RC = CurAddstr('Kirmizi ustunde siyah')/* 34 */ /* 35 */ /* -- 1 numarali renk cifti etkin kiliniyor. -- *//* 36 */ RC = CurAttrset('COLOR_PAIR(1)')/* 37 */ RC = CurRefresh() /* 38 */ End/* 39 */ Else /* 40 */ Do/* 41 */ RC = CurMove(7, 5) /* 42 */ RC = CurAddstr('Renk destegi yok.')/* 43 */ RC = CurRefresh() /* 44 */ End/* 45 */ ;;; /* 46 */ /* 47 */ RC = CurMove(9, 5) /* 48 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 49 */ RC = CurRefresh() /* 50 */ /* 51 */ RC = CurGetch()/* 52 */ /* 53 */ RC = CurEndwin()/* 54 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Renkler” konusuna bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurStartColor() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
72
Rexx/Curses Kütüphanesi
CurInitscr
RC = CurInitscr()
Call CurInitscr
Erek
Rexx/Curses kütüphanesinin kuruluşunun ardından oturum sürecinin başlatılmasını sağlamak (sağlar).
Bu işlev, kendisinin çağırılması sonucu, ekranın ilk temizliğini ve silinişini yapmak amacıyla “CurRefresh()” işlevini çağırır.
Herhangi bir hata durumunda ya boş bir dizgisel değer ya da en uygun hata iletisini geri gönderir.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
STDSCR
Başarılı sonuçlanış halinde varsayılan pencereyi tanımlayan değer.
Kullanımda, “STDSCR” yerine “stdscr” dizgisel değeri kullanılır.
Boş Dizgi (“”)
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
73
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurInitscr.rexx -- *//* 04 */ /* -- Aciklayim : CurInitscr() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ /* 13 */ /* -- Oturum baslatiliyor. -- */ /* 14 */ RC = CurInitscr() /* 15 */ /* 16 */ RC = CurClear() /* 17 */ RC = CurErase() /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurInitscr() islevi icin ornek.')/* 22 */ RC = CurRefresh() /* 23 */ /* 24 */ RC = CurMove(7, 5) /* 25 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 26 */ RC = CurRefresh() /* 27 */ /* 28 */ RC = CurGetch()/* 29 */ /* 30 */ RC = CurEndwin()/* 31 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Oturum Başlatış/Sonlandırış” konusuna bakınız.• CurEndwin() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
74
Rexx/Curses Kütüphanesi
CurInsch
RC = CurInsch(karakter, ö1, … ,ö5)
Call CurInsch karakter, ö1, … ,ö5
Erek
Kullanılan pencerede, imlecin bulunduğu konuma bir karakterin yerleştirilmesini sağlar ve imleci bir dikeç sağa öteler. Bu öteleyiş sırasında, imlecin sağında bulunan diğer karakterler de sağa ötelenir. İlgili satırdaki en son karakter, görünmez kılınır.
Değiştirge(ler)
karakter
Yerleştirilmek istenen karakteri işaret eden değer.
ö1, … ,ö5
Karakter yerleştiriş işlemi sırasında etkin kılınmak istenen öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
75
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurInsch.rexx -- *//* 04 */ /* -- Aciklayim : CurInsch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurInsch() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(7, 5) /* 23 */ RC = CurAddstr('Imlec su anda burada bulunmaktadir.')/* 24 */ RC = CurMove(9, 5) /* 25 */ RC = CurAddstr("'#' karakterini yerlestirmek icin")/* 26 */ RC = CurMove(10, 5) /* 27 */ RC = CurAddstr('herhangi bir tusa basiniz.')/* 28 */ RC = CurMove(7, 19) /* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurGetch() /* 32 */ /* 33 */ /* -- CurInsch() islevi cagiriliyor. -- */ /* 34 */ RC = CurInsch('#') /* 35 */ /* 36 */ RC = CurMove(12, 5) /* 37 */ RC = CurAddstr('Yerlestiris tamamlandi ve diger karakterler')/* 38 */ RC = CurMove(13, 5) /* 39 */ RC = CurAddstr('saga otelendi.')/* 40 */ RC = CurMove(15, 5) /* 41 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 42 */ RC = CurRefresh() /* 43 */ /* 44 */ RC = CurGetch()/* 45 */ /* 46 */ RC = CurEndwin()/* 47 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Öznitelikler” konusuna bakınız.• CurInsertln() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
76
Rexx/Curses Kütüphanesi
CurInsertln
RC = CurInsertln()
Call CurInsertln
Erek
Kullanılan pencerede, imlecin konumlandığı satırın bir üstünde yer alan satır konumuna boş bir satırın eklenmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
77
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurInsertln.rexx -- *//* 04 */ /* -- Aciklayim : CurInsertln() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(3, 5) /* 19 */ RC = CurAddstr('CurInsertln() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(5, 5) /* 23 */ RC = CurAddstr('Ardahan')/* 24 */ RC = CurMove(6, 5) /* 25 */ RC = CurAddstr('Kars')/* 26 */ RC = CurMove(7, 5) /* 27 */ RC = CurAddstr('Erzurum')/* 28 */ RC = CurMove(8, 5) /* 29 */ RC = CurAddstr('Erzincan')/* 30 */ RC = CurMove(10, 5) /* 31 */ RC = CurAddstr("'Erzurum' ve 'Erzincan' arasina bos bir satir")/* 32 */ RC = CurMove(11, 5) /* 33 */ RC = CurAddstr('yerlestirmek icin herhangi bir tusa basiniz.')/* 34 */ RC = CurMove(8, 14) /* 35 */ RC = CurAddstr('<- Imlec su anda bu satirda bulunmaktadir.')/* 36 */ RC = CurRefresh() /* 37 */ /* 38 */ RC = CurGetch() /* 39 */ /* 40 */ /* -- CurInsertln() islevi cagiriliyor. -- */ /* 41 */ RC = CurInsertln() /* 42 */ /* 43 */ RC = CurMove(14, 5) /* 44 */ RC = CurAddstr('Yerlestiris tamamlandi ve sonraki satirlar')/* 45 */ RC = CurMove(15, 5) /* 46 */ RC = CurAddstr('asagi otelenip en son satir varliksal')/* 45 */ RC = CurMove(16, 5) /* 46 */ RC = CurAddstr('olarak silindi.')/* 47 */ RC = CurMove(18, 5) /* 48 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 49 */ RC = CurRefresh() /* 50 */ /* 51 */ RC = CurGetch()/* 52 */ /* 53 */ RC = CurEndwin()/* 54 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurInsch() işlevi hakkındaki bilgiye bakınız.• CurWinsertln() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
78
Rexx/Curses Kütüphanesi
CurKeypad
RC = CurKeypad(pencere, mantıksal)
Call CurKeypad pencere, mantıksal
Erek
Kullanıcının etkin olarak çalıştığı uçbirimin tuş takımı seçeneğinin değiştirilmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
mantıksal
Bir (1)
“CurGetch()” işlevi ile yapılan tuş okutuş işlemlerinde, eğer kullanıldıysa, özel işlev tuşlarını tanımlayan ve “KEY_” dizgisi ile başlayan dizgisel değerlerin de elde edilişi mümkündür.
Sıfır (0)
“CurGetch()” işlevi ile yapılan tuş okutuş işlemlerinde, kullanılsa dahi özel işlev tuşlarını tanımlayan ve “KEY_” dizgisi ile başlayan dizgisel değerlerin elde edilişi mümkün değildir.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
79
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurKeypad.rexx -- *//* 04 */ /* -- Aciklayim : CurKeypad() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr()/* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurClear() /* 17 */ RC = CurErase() /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurKeypad() islevi icin ornek.')/* 22 */ RC = CurMove(6, 5) /* 23 */ RC = CurAddstr('Islev tuslari kullanilabilir.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurNoecho() /* 27 */ /* 28 */ RC = CurMove(8, 5) /* 29 */ RC = CurAddstr('Bir tusa basiniz: ')/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurMove(8, 23) /* 33 */ /* 34 */ /* -- Ozel tus isimlerinin elde edilebilmesi -- *//* 35 */ /* -- icin CurKeypad() cagriliyor. -- *//* 36 */ RC = CurKeypad(stdscr, 1)/* 37 */ /* 38 */ tus = CurGetch()/* 39 */ /* 40 */ RC = CurMove(10, 5) /* 41 */ RC = CurAddstr('Basilan tus: '||tus)/* 42 */ RC = CurRefresh() /* 43 */ /* 44 */ RC = CurMove(12, 5) /* 45 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 46 */ RC = CurRefresh() /* 47 */ /* 48 */ RC = CurGetch()/* 49 */ /* 50 */ RC = CurEndwin()/* 51 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• “Tuş Tanımları” konusuna bakınız.• CurNodelay() işlevi hakkındaki bilgiye bakınız.• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
80
Rexx/Curses Kütüphanesi
CurNodelay
RC = CurNodelay(pencere, mantıksal)
Call CurNodelay pencere, mantıksal
Erek
Kullanılan pencerede “CurWgetch()” işlevinin sınırlayış yapıp yapmayacağının belirlenmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
mantıksal
Bir (1)
Giriş hazır değildir. Sınırlayış yapılmayacaktır. Bu durumda, “CurWgetch()” işlevi “ERR” değerini geri gönderir.
Sıfır (0)
Giriş hazır olduğu sürece sınırlayış yapılacaktır.
Dönüş Değer(ler)i
OK
“CurNodelay()” işlevi için gerekli altyapı vardır. Başarılı sonuçlanış.
ERR
“CurNodelay()” işlevi için gerekli altyapı yoktur. Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
81
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNodelay.rexx -- *//* 04 */ /* -- Aciklayim : CurNodelay() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr()/* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurClear() /* 17 */ RC = CurErase() /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurNodelay() islevi icin ornek.')/* 22 */ RC = CurMove(6, 5) /* 23 */ RC = CurAddstr('Islev tuslari kullanilabilir.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurNoecho() /* 27 */ /* 28 */ RC = CurMove(8, 5) /* 29 */ RC = CurAddstr('Bir tusa basiniz: ')/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ /* -- Giris hazir oldugu surece sinirlayis -- *//* 33 */ /* -- yapilacaktir. -- *//* 34 */ RC = CurNodelay(stdscr, 0) /* 35 */ /* 36 */ RC = CurKeypad(stdscr, 1)/* 37 */ /* 38 */ RC = CurMove(8, 23) /* 39 */ tus = CurGetch()/* 40 */ /* 41 */ RC = CurMove(10, 5) /* 42 */ RC = CurAddstr('Basilan tus: '||tus)/* 43 */ RC = CurRefresh() /* 44 */ /* 45 */ RC = CurMove(12, 5) /* 46 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 47 */ RC = CurRefresh() /* 48 */ /* 49 */ RC = CurGetch()/* 50 */ /* 51 */ RC = CurEndwin()/* 52 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.• CurKeypad() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
82
Rexx/Curses Kütüphanesi
CurMove
RC = CurMove(satır, dikeç)
Call CurMove satır, dikeç
Erek
Kullanılan pencerede, imlecin “satır” ve “dikeç” değiştirgesiyle belirtilen satırda ve dikeçte konumlandırılmasını sağlamak (sağlar).
Kendisinin ardı sıra “CurRefresh()” işlevi çağırılmalıdır.
Göreceli imleç konumu, ekranın sol üst köşesidir. Yani, (0, 0) konumudur.
Değiştirge(ler)
satır
İmlecin konumlandırılacağı satırı işaret eden sayısal değer.
dikeç
İmlecin konumlandırılacağı dikeci işaret eden sayısal değer.
Dönüş Değer(ler)i
OK
İşlev için uygun altyapı var. Başarılı sonuçlanış.
ERR
İşlev için uygun altyapı yok. Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
83
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurMove.rexx -- *//* 04 */ /* -- Aciklayim : CurMove() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ /* -- Pencerenin 5. satiri ve 5. dikecinde -- */ /* 19 */ /* -- imleç konumlandiriliyor. -- *//* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurMove() islevi icin ornek.')/* 22 */ RC = CurRefresh() /* 23 */ /* 24 */ RC = CurMove(7, 5) /* 25 */ RC = CurAddstr('Bu metin 7. satir 5. dikecte basladi.')/* 26 */ RC = CurRefresh() /* 27 */ /* 28 */ RC = CurMove(9, 5) /* 29 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 30 */ RC = CurRefresh() /* 31 */ /* 32 */ RC = CurGetch()/* 33 */ /* 34 */ RC = CurEndwin()/* 35 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurWmove() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
84
Rexx/Curses Kütüphanesi
CurWmove
RC = CurWmove(pencere, satır, dikeç)
Call CurWmove pencere, satır, dikeç
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin “satır” ve “dikeç” değiştirgesiyle belirtilen satırda ve dikeçte konumlandırılmasını sağlamak (sağlar).
Kendisinin ardı sıra “CurWrefresh()” işlevi çağırılmalıdır.
Göreceli imleç konumu, ilgili pencerenin sol üst köşesidir. Yani, (0, 0) konumudur.
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
satır
İmlecin konumlandırılacağı satırı işaret eden sayısal değer.
dikeç
İmlecin konumlandırılacağı dikeci işaret eden sayısal değer.
Dönüş Değer(ler)i
OK
İşlev için uygun altyapı var. Başarılı sonuçlanış.
ERR
İşlev için uygun altyapı yok. Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
85
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWmove.rexx -- *//* 04 */ /* -- Aciklayim : CurWmove() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ p1 = CurNewwin(15, 65, 5, 5) /* 19 */ /* 20 */ RC = CurBox(p1, '|', '-') /* 21 */ /* 22 */ /* -- 'p1' penceresinin 2. satiri ve 5. dikecinde -- */ /* 23 */ /* -- imleç konumlandiriliyor. -- *//* 24 */ RC = CurWmove(p1, 2, 5) /* 25 */ RC = CurWaddstr(p1, 'CurWmove() islevi icin ornek.')/* 26 */ RC = CurWrefresh(p1) /* 27 */ /* 28 */ RC = CurWmove(p1, 5, 5) /* 29 */ RC = CurWaddstr(p1, 'Bu, pencerenin 5. satir 5. dikecinde basladi.')/* 30 */ RC = CurWrefresh(p1) /* 31 */ /* 32 */ RC = CurWmove(p1, 8, 5) /* 33 */ RC = CurWaddstr(p1, 'Cikis icin herhangi bir tusa basiniz.')/* 34 */ RC = CurWrefresh(p1) /* 35 */ RC = CurWgetch(p1)/* 36 */ /* 37 */ RC = CurDelwin(p1) /* 38 */ /* 39 */ RC = CurEndwin()/* 40 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurMove() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
86
Rexx/Curses Kütüphanesi
CurMvdelch
RC = CurMvdelch(satır, dikeç)
Call CurMvdelch satır, dikeç
Erek
Kullanılan pencerede, “satır” ve “dikeç” değiştirgeleriyle belirtilen satırdaki ve dikeçteki karakterin silinmesini sağlamak (sağlar).
Silinen karakterin sağında bulunan tüm karakterler, bir sola kaydırılır.
İlgili satırın en sonunda yer alan karakterin konumu boş bırakılır (boşluk karakteri yerleştirilir).
Değiştirge(ler)
satır
Karakter siliş işleminin gerçekleştirileceği satırı işaret eden sayısal değer.
dikeç
Karakter siliş işleminin gerçekleştirileceği dikeci işaret eden sayısal değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
87
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurMvdelch.rexx -- *//* 04 */ /* -- Aciklayim : CurMvdelch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(3, 5) /* 19 */ RC = CurAddstr('CurMvdelch() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(5, 5) /* 23 */ RC = CurAddstr('1 2 3 4 5 6 7 8 9')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurMove(7, 5) /* 27 */ RC = CurAddstr('5 rakamini silmek icin bir tusa basin.')/* 28 */ RC = CurRefresh() /* 29 */ RC = CurGetch()/* 30 */ /* 31 */ /* -- 5. satir ve 13. dikecte bulunan 5 rakami -- */ /* 32 */ /* -- siliniyor. -- *//* 33 */ RC = CurMvdelch(5, 13) /* 34 */ /* 35 */ RC = CurMove(7, 5) /* 36 */ RC = CurAddstr('5 rakami silindi. ')/* 37 */ RC = CurRefresh() /* 38 */ /* 39 */ RC = CurMove(9, 5) /* 40 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 41 */ RC = CurRefresh() /* 42 */ RC = CurGetch()/* 43 */ /* 44 */ RC = CurEndwin()/* 45 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurMvwdelch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
88
Rexx/Curses Kütüphanesi
CurMvwdelch
RC = CurMvwdelch(pencere, satır, dikeç)
Call CurMvwdelch pencere, satır, dikeç
Erek
“pencere” değiştirgesiyle belirtilen pencerede, “satır” ve “dikeç” değiştirgeleriyle belirtilen satırdaki ve dikeçteki karakterin silinmesini sağlamak (sağlar).
Silinen karakterin sağında bulunan tüm karakterler, bir sola kaydırılır.
İlgili satırın en sonunda yer alan karakterin konumu boş bırakılır (boşluk karakteri yerleştirilir).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi işaret eden değer.
satır
Karakter siliş işleminin gerçekleştirileceği satırı işaret eden sayısal değer.
dikeç
Karakter siliş işleminin gerçekleştirileceği dikeci işaret eden sayısal değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
89
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurMvwdelch.rexx -- *//* 04 */ /* -- Aciklayim : CurMvwdelch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ p1 = CurNewwin(15, 65, 2, 2) /* 19 */ /* 20 */ RC = CurBox(p1, '|', '-') /* 21 */ /* 22 */ RC = CurWmove(p1, 2, 5) /* 23 */ RC = CurWaddstr(p1, 'CurMvwdelch() islevi icin ornek.')/* 24 */ RC = CurWrefresh(p1) /* 25 */ /* 26 */ RC = CurWmove(p1, 4, 5) /* 27 */ RC = CurWaddstr(p1, '1 2 3 4 5 6 7 8 9')/* 28 */ RC = CurWrefresh(p1) /* 29 */ /* 30 */ RC = CurWmove(p1, 6, 5) /* 31 */ RC = CurWaddstr(p1, '5 rakamini silmek icin bir tusa basin.')/* 32 */ RC = CurWrefresh(p1) /* 33 */ RC = CurWgetch(p1)/* 34 */ /* 35 */ /* -- p1 pencersi icinde 4. satir ve 13. dikecte -- *//* 36 */ /* -- bulunan 5 rakami siliniyor. -- */ /* 37 */ RC = CurMvwdelch(p1, 4, 13) /* 38 */ /* 39 */ RC = CurWmove(p1, 4, 22) /* 40 */ RC = CurWclrtoeol(p1) /* 41 */ /* 42 */ RC = CurBox(p1, '|', '-') /* 43 */ RC = CurWrefresh(p1) /* 44 */ /* 45 */ RC = CurWmove(p1, 6, 5) /* 46 */ RC = CurWaddstr(p1, '5 rakami silindi. ')/* 47 */ RC = CurWrefresh(p1) /* 48 */ /* 49 */ RC = CurWmove(p1, 8, 5) /* 50 */ RC = CurWaddstr(p1, 'Cikis icin herhangi bir tusa basiniz.')/* 51 */ RC = CurWrefresh(p1)/* 52 */ RC = CurWgetch(p1)/* 53 */ /* 54 */ RC = CurDelwin(p1) /* 55 */ /* 56 */ RC = CurEndwin()/* 57 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurMvdelch() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
90
Rexx/Curses Kütüphanesi
CurLeaveok
RC = CurLeaveok(pencere, mantıksal)
Call CurLeaveok pencere, mantıksal
Erek
Olağan olarak, kullanımı söz konusu olan pencere içeriği tazelendiğinde, donanımsal imleç ekranın sol tarafında konumlanır.
Bu işlev, bir (1) mantıksal değeri ile kullanıldığında, imleç, güncelleyiş işleminin yapıldığı konumun solunda konumlandırılır.
Bu durum, imlecin görsel etkiye sahip olmadan kullanılmak istendiği uygulamalarda oldukça yararlıdır.
Eğer donanımsal uçbirim olanakları izin verirse, bu işlev kullanıldığında, imleç, görünmez kılınacaktır.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi işaret eden değer.
mantıksal
1: İmleç bırakılışı etkin kılınır.
0: İmleç bırakılışı etkisiz kılınır.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
91
Rexx/Curses Kütüphanesi
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
CurNapms
RC = CurNapms(salise)
Call CurNapms salise
Erek
Yürütüm işleminin “salise” değiştirgesiyle belirtilen süre boyunca askıya alınmasını sağlamak (sağlar).
Değiştirge(ler)
salise
Kullanılan uygulamaya ait yürütümün askıya alınacağı ve “salise” birimi cinsinden ifade edilen zaman aralığı.
Dönüş Değer(ler)i
OK
İşlev için gerekli altyapı desteği var. Başarılı sonuçlanış.
ERR
İşlev için gerekli altyapı desteği yok. Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
92
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNapms.rexx -- *//* 04 */ /* -- Aciklayim : CurNapms() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(2, 5) /* 19 */ RC = CurAddstr('CurNapms() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ RC = CurMove(4, 5) /* 23 */ RC = CurAddstr('Sehirler 2 ser saniye ara ile yazilacak.')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ RC = CurMove(6, 5) /* 27 */ RC = CurAddstr('Ardahan')/* 28 */ RC = CurRefresh() /* 29 */ /* 30 */ RC = CurMove(7, 5) /* 31 */ RC = CurAddstr('Kars')/* 32 */ RC = CurNapms(2000) /* 1000 salise = 1 saniye *//* 33 */ RC = CurRefresh() /* 34 */ /* 35 */ RC = CurMove(8, 5) /* 36 */ RC = CurAddstr('Erzurum')/* 37 */ RC = CurNapms(2000) /* 1000 salise = 1 saniye *//* 38 */ RC = CurRefresh() /* 39 */ /* 40 */ RC = CurMove(9, 5) /* 41 */ RC = CurAddstr('Erzincan')/* 42 */ RC = CurNapms(2000) /* 1000 salise = 1 saniye *//* 43 */ RC = CurRefresh() /* 44 */ /* 45 */ RC = CurMove(11, 5) /* 46 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 47 */ RC = CurRefresh() /* 48 */ /* 49 */ RC = CurGetch()/* 50 */ /* 51 */ RC = CurEndwin()/* 52 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
Yok. (-)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
93
Rexx/Curses Kütüphanesi
CurNewwin
RC = CurNewwin(satır, dikeç, x, y)
Call CurNewwin satır, dikeç, x, y
Erek
Varsayılan pencereyi dikkate alarak, “satır” değiştirgesiyle belirtilen satır sayısına ve “dikeç” değiştirgesiyle belirtilen dikeç sayısına sahip olan bir pencerenin oluşturulmasını ve bu pencerenin başlangıç noktasını (sol üst köşesini) varsayılan penceredeki “x” değiştirgesiyle belirtilen yatay değer ile “y” değiştirgesiyle belirtilen dikey değer üzerinden yerleştirilmesini sağlamak (sağlar).
Değiştirge(ler)
satır
Oluşturulmak istenen penceredeki toplam satır sayısını işaret eden sayısal değer.
Bu değer belirlenirken, kullanılan donanım ve işletim dizgesinin desteklediği değerler dikkate alınmalıdır.
dikeç
Oluşturulmak istenen penceredeki toplam dikeç sayısını işaret eden sayısal değer.
Bu değer belirlenirken, kullanılan donanım ve işletim dizgesinin desteklediği değerler dikkate alınmalıdır.
x
Oluşturulmak istenen pencerenin sol-üst köşesinin konumlandırılacağı yatay nokta değeri.
y
Oluşturulmak istenen pencerenin sol-üst köşesinin konumlandırılacağı dikey nokta değeri.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
94
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
Tekil Bir Numara
Oluşturulan pencereyi tanımlayan ve pencere ile ilintili işlevler tarafından kullanılabilecek bir sayısal değer.
Boş Dizgi
Başarısız sonuçlanış.
Kullanılan donanım ve/veya işletim dizgesi kaynakları, bu işlevin tamamını ya da bir kısmını desteklemiyor olabilir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
95
Rexx/Curses Kütüphanesi
Örnek Kullanım
Birinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNewwin01.rexx -- *//* 04 */ /* -- Aciklayim : CurNewwin01() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 18 */ p1 = CurNewwin(0, 0, 0, 0) /* 18 */ /* 20 */ RC = CurBox(p1, '|', '-') /* 18 */ /* 18 */ /* -- Yukaridaki 'CurBox()' islevine ait dizilim -- */ /* 18 */ /* -- yerine, p1 penceresi olusturulmadan da -- */ /* 18 */ /* -- -- */ /* 18 */ /* -- RC = CurBox(stdscr, '|', '-') -- */ /* 18 */ /* -- -- */ /* 18 */ /* -- dizilimi de kullanilabilirdi. -- */ /* 18 */ /* 20 */ RC = CurWrefresh(p1) /* 21 */ /* 22 */ RC = CurWmove(p1, 3, 5)/* 23 */ RC = CurWaddstr(p1, 'CurNewwin() islevi icin 1. ornek')/* 24 */ RC = CurWrefresh(p1) /* 25 */ /* 26 */ RC = CurWmove(p1, 5, 5)/* 27 */ RC = CurWaddstr(p1, 'p1 penceresi icin ana hatlar')/* 28 */ RC = CurWmove(p1, 6, 5)/* 29 */ RC = CurWaddstr(p1, 'gorunur kiliniyor.')/* 30 */ RC = CurWrefresh(p1)/* 31 */ /* 32 */ RC = CurWmove(p1, 8, 5)/* 33 */ RC = CurWaddstr(p1, 'Cikis icin herhangi bir tusa basiniz.')/* 34 */ RC = CurWrefresh(p1)/* 35 */ RC = CurWgetch(p1)/* 36 */ /* 36 */ RC = CurDelwin(p1) /* 36 */ /* 37 */ RC = CurEndwin()/* 38 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
96
Rexx/Curses Kütüphanesi
İkinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNewwin02.rexx -- *//* 04 */ /* -- Aciklayim : CurNewwin02() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurClear()/* 16 */ RC = CurErase()/* 17 */ RC = CurRefresh()/* 18 */ /* 19 */ /* - Kutu cizimi gerceklestiriliyor. - */ /* 20 */ RC = CurBox(stdscr, '|', '-') /* 21 */ /* 22 */ RC = CurMove(3, 5)/* 23 */ RC = CurAddstr('CurNewwin() islevi icin 2. ornek - STDSCR')/* 24 */ RC = CurRefresh() /* 25 */ /* 26 */ /* -- p1 penceresi tanimlaniyor. -- */ /* 27 */ p1 = CurNewwin(10, 70, 5, 5) /* 28 */ RC = CurBox(p1, '|', '-')/* 29 */ RC = CurWrefresh(p1) /* 30 */ /* 31 */ RC = CurWmove(p1, 2, 2) /* 32 */ RC = CurWaddstr(p1, 'p1 penceresi icerisinde ilk dizgi.') /* 33 */ RC = CurWrefresh(p1) /* 34 */ /* 35 */ RC = CurWmove(p1, 4, 2)/* 36 */ RC = CurWaddstr(p1, 'Cikis icin herhangi bir tusa basiniz.')/* 37 */ RC = CurWrefresh(p1)/* 38 */ RC = CurWgetch(p1)/* 39 */ /* 40 */ RC = CurDelwin(p1) /* 41 */ /* 42 */ RC = CurEndwin()/* 43 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
97
Rexx/Curses Kütüphanesi
Açıklayım(lar)
• “x” ve “y” değiştirgelerinin her ikisine birden sıfır (0) değeri atanırsa (0, 0), kullanımı söz konusu olan Curses/NCurses kütüphanesindeki “LINES” ve “COLS” isimli özel değişkenlerin sahip olduğu varsayılan değerler dikkate alınır.
• Tam ekranı kaplayan bir pencere tanımı oluşturmak amacıyla, işleve ait tüm değiştirgelere sıfır (0) değeri atanır. Yani
RC = CurNewwin(0, 0, 0, 0)
ya da
Call CurNewwin 0, 0, 0, 0
dizilimi kullanılır.
• Oluşturulan pencerenin ana hatlarını görünür kılmak amacıyla “CurBox()” işlevini kullanınız.
• CurBox() işlevi hakkındaki bilgiye bakınız.
CurNl
RC = CurNl()
Call CurNl
Erek
Yeni satır (NL; New Line) karakterinin taşıyıcı dönüş (CR; Carriage Return) ve satır besleyiş (LF; Line Feed) karakterine dönüştürülmesini etkin kılmak (kılar).
Bu işlev kullanılmasa da Rexx/Curses kütüphanesinin doğasında bu dönüşüm olanaklı kılınmıştır.
Bu dönüşümler etkisiz kılınarak, Curses oturumunun satır besleyiş (LF; Line Feed) yeteneği daha iyi kılınabilir. Bunun sonucunda, imlecin hareketi daha da hızlı gerçekleşir.
Bunu da gerçekleştirmek amacıyla “CurNonl()” işlevi kullanılabilir.
Değiştirge(ler)
Yok. (-)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
98
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurNonl() işlevi hakkındaki bilgiye bakınız.
CurNocbreak
RC = CurNocbreak()
Call CurNocbreak
Erek
Kullanılan uçbirimin “cbreak” kipinden çıkartılmasını sağlamak (sağlar).
“cbreak” kipi hakkında bilgi elde etmek amacıyla “CurCbreak()” işlevi hakkındaki bilgilere bakınız.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
99
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNocbreak.rexx -- *//* 04 */ /* -- Aciklayim : CurNocbreak() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- Kullanilan ucbirim 'cbreak' kipinin -- */ /* 14 */ /* -- disina cikariliyor. -- */ /* 15 */ RC = CurNocbreak()/* 16 */ /* 17 */ RC = CurClear()/* 18 */ RC = CurErase()/* 19 */ RC = CurRefresh()/* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ RC = CurGetch()/* 25 */ /* 26 */ RC = CurEndwin()/* 27 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurCbreak() işlevi hakkındaki bilgiye bakınız.• CurNoraw() işlevi hakkındaki bilgiye bakınız.• CurRaw() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
100
Rexx/Curses Kütüphanesi
CurNoecho
RC = CurNoecho()
Call CurNoecho
Erek
Kullanılan pencerede kullanıcı tarafından girilen karakterlerin görünmez kılınmasını sağlamak (sağlar).
İmlecin görünürlülük ve/veya görünmezlik durumları hakkında bilgi almak amacıyla “CurEcho()” işlevi hakkındaki bilgiye bakılması önerilir.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
Örnek Kullanım
“CurEcho()” işlevi hakkında bilgi veren öbekteki örnek kullanıma bakınız.
Açıklayım(lar)
• CurEcho() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
101
Rexx/Curses Kütüphanesi
CurNonl
RC = CurNonl()
Call CurNonl
Erek
“CurNl()” işlevinin gerçekleştirdiği devinimin ters yönlüsünün gerçekleşmesini sağlamak (sağlar).
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurNl() işlevi hakkındaki bilgiye bakınız.
CurNoraw
RC = CurNoraw()
Call CurNoraw
Erek
Kullanılan uçbirimin “raw” kipinden çıkartılmasını sağlamak (sağlar).
“raw” kipi hakkında bilgi elde etmek amacıyla “CurRaw()” işlevi hakkındaki bilgilere bakınız.
Değiştirge(ler)
Yok. (-)
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
102
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurNoraw.rexx -- *//* 04 */ /* -- Aciklayim : CurNoraw() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- Kullanilan ucbirim 'raw' kipinin -- */ /* 14 */ /* -- disina cikariliyor. -- */ /* 15 */ RC = CurNoraw()/* 16 */ /* 17 */ RC = CurClear()/* 18 */ RC = CurErase()/* 19 */ RC = CurRefresh()/* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ RC = CurGetch()/* 25 */ /* 26 */ RC = CurEndwin()/* 27 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurRaw() işlevi hakkındaki bilgiye bakınız.• CurCbreak işlevi hakkındaki bilgiye bakınız.• CurNocbreak işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
103
Rexx/Curses Kütüphanesi
CurRaw
RC = CurRaw()
Call CurRaw
Erek
Kullanılan uçbirimin “raw” kipinde çalışmasını sağlamak (sağlar).
“raw” kipi “cbreak” kipine benzer bir kiptir. Girilen karakterler derhal çalışan uygulamaya aktarılır.
“raw” kipinde farklı olan “INTR”, “QUIT”, “SUSP” ve “STOP” karakterleri yorumlanmadan aktarılır ve herhangi bir sinyal üretilmez.
“BREAK” tuşunun davranışı, kullanılan uçbirime ait olan ve “curses” oturumu tarafından herhangi bir değer atanmamış değiştirgelere dayanır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Her zaman bu değeri geri gönderir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
104
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurRaw.rexx -- *//* 04 */ /* -- Aciklayim : CurRaw() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ /* -- Kullanilan ucbirim 'raw' kipinde -- */ /* 14 */ /* -- calistiriliyor. -- */ /* 15 */ RC = CurRaw()/* 16 */ /* 17 */ RC = CurClear()/* 18 */ RC = CurErase()/* 19 */ RC = CurRefresh()/* 20 */ /* 21 */ RC = CurMove(5, 5)/* 22 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurRefresh() /* 24 */ RC = CurGetch()/* 25 */ /* 26 */ RC = CurEndwin()/* 27 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurNoraw() işlevi hakkındaki bilgiye bakınız.• CurCbreak işlevi hakkındaki bilgiye bakınız.• CurNocbreak işlevi hakkındaki bilgiye bakınız.
CurRefresh
RC = CurRefresh()
Call CurRefresh
Erek
Kullanılan pencerenin içeriğinin donanımsal uçbirim ekranına çoğaltılmasını sağlamak (sağlar).
Amacının diğer bir ifadeyle oluşturulmuş şekli, kullanılan pencere içeriğinin tazelenmesini (yenilenmesini) sağlamak.
Kendisinin kullanımından önce, “CurLeaveok()” işlevi etkin kılınmışsa, donanımsal uçbirimin imleci, kullanılan pencerenin imleç konumunun solunda yer alır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
105
Rexx/Curses Kütüphanesi
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurRefresh.rexx -- *//* 04 */ /* -- Aciklayim : CurRefresh() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ /* 17 */ /* -- CurRefresh() islevi cagriliyor. -- */ /* 18 */ RC = CurRefresh() /* 19 */ /* 20 */ RC = CurMove(5, 5) /* 21 */ RC = CurAddstr('CurRefresh() islevi icin ornek.')/* 22 */ RC = CurRefresh() /* 23 */ /* 24 */ RC = CurMove(7, 5) /* 25 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 26 */ RC = CurRefresh() /* 27 */ /* 28 */ RC = CurGetch()/* 29 */ /* 30 */ RC = CurEndwin()/* 31 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurWrefresh() işlevi hakkındaki bilgiye bakınız.• CurLeaveok() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
106
Rexx/Curses Kütüphanesi
CurStandout
RC = CurStandout()
Call CurStandout
Erek
“A_STANDOUT” özniteliğinin etkin kılınmasını sağlamak (sağlar).
Bu işlevin etkisi, “CurAttrset(‘A_STANDOUT’)” diziliminin etkisi ile aynıdır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
107
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurStandout.rexx -- *//* 04 */ /* -- Aciklayim : CurStandout() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(5, 5) /* 19 */ RC = CurAddstr('CurStandout() islevi icin ornek.')/* 20 */ RC = CurRefresh() /* 21 */ /* 22 */ /* -- CurStandout() islevi cagrilarak -- */ /* 23 */ /* -- 'A_STANDOUT' ozniteligi etkin -- */ /* 24 */ /* -- kiliniyor. -- */ /* 25 */ RC = CurStandout() /* 26 */ /* 27 */ RC = CurMove(7, 5) /* 28 */ RC = CurAddstr("'A_STANDOUT' ozniteligi etkin kilindi.")/* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurAttrset('A_NORMAL')/* 32 */ /* 33 */ RC = CurMove(9, 5) /* 34 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 35 */ RC = CurRefresh() /* 36 */ /* 37 */ RC = CurGetch()/* 38 */ /* 39 */ RC = CurEndwin()/* 40 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAttrset() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
108
Rexx/Curses Kütüphanesi
CurStartColor
RC = CurStartColor()
Call CurStartColor
Erek
Rexx/Curses kütüphanesine ait işlevler tarafından kullanılmak üzere sekiz temel rengin (siyah, kırmızı, yeşil, sarı, mavi, pembe, türkuaz ve beyaz) ve iki küresel değişkenin (“COLORS” ile “COLOR_PAIRS”) başlatılmasını sağlamak (sağlar).
“COLORS” ve “COLOR_PAIRS” isimli iki küresel değişkenin etkisi, kullanımı tercih edilen uçbirime ait yeteneklerle doğru orantılıdır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• “Renkler” konusuna bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
109
Rexx/Curses Kütüphanesi
CurTouchline
RC = CurTouchline(pencere, x, y)
Call CurTouchline pencere, x, y
Erek
Kendisinin ardı sıra çağrılacak “CurWrefresh()” işlevinin tazeleyiş işlemini kolaylaştırmak amacıyla, “pencere” değiştirgesiyle belirtilen pencerenin “x” değiştirgesiyle birlikte satırından ve “y” değiştirgesiyle belirtilen dikecinden başlamak üzere, tüm satırların işaretlenmesini (belirlenerek vurgulanmasını) sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
x
Dikkate alınacak satırı işaret eden sayısal değer.
y
Dikkate alınacak dikeci işaret eden sayısal değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
110
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurTouchline.rexx -- *//* 04 */ /* -- Aciklayim : CurTouchline() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ /* -- CurTouchline() islevi cagrilarak, STDSCR ortaminin -- */ /* 19 */ /* -- 5. satir ve 5. dikecinden gecerli olmak uzere, -- */ /* 20 */ /* -- tum satirlar, tazeleyis islemi icin hazirlaniyor. -- *//* 21 */ RC = CurTouchline(stdscr, 5, 5) /* 22 */ /* 23 */ RC = CurMove(5, 5) /* 24 */ RC = CurAddstr('CurTouchline() islevi icin ornek.')/* 25 */ RC = CurRefresh() /* 26 */ /* 27 */ RC = CurMove(9, 5) /* 28 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurGetch()/* 32 */ /* 33 */ RC = CurEndwin()/* 34 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurTouchwin() işlevi hakkındaki bilgiye bakınız.
CurTouchwin
RC = CurTouchwin(pencere)
Call CurTouchwin pencere
Erek
Kendisinin ardı sıra çağrılacak “CurWrefresh()” işlevinin tazeleyiş işlemini kolaylaştırmak amacıyla, “pencere” değiştirgesiyle belirtilen pencerenin tümünün işaretlenmesini (belirlenerek vurgulanmasını) sağlamak (sağlar).
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
111
Rexx/Curses Kütüphanesi
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurTouchwin.rexx -- *//* 04 */ /* -- Aciklayim : CurTouchwin() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ /* -- ------------------------------------------------- -- *//* 19 */ /* -- CurTouchwin() islevi cagrilarak, STDSCR ortaminin -- */ /* 20 */ /* -- tumu tazeleyis islemi icin hazirlaniyor. -- *//* 21 */ RC = CurTouchwin(stdscr) /* 22 */ /* 23 */ RC = CurMove(5, 5) /* 24 */ RC = CurAddstr('CurTouchwin() islevi icin ornek.')/* 25 */ RC = CurRefresh() /* 26 */ /* 27 */ RC = CurMove(9, 5) /* 28 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 29 */ RC = CurRefresh() /* 30 */ /* 31 */ RC = CurGetch()/* 32 */ /* 33 */ RC = CurEndwin()/* 34 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurTouchline() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
112
Rexx/Curses Kütüphanesi
CurWaddch
RC = CurWaddch(pencere, karakter, [ö1, … ,ö5])
Call CurWaddch pencere, karakter, [ö1, … ,ö5]
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin bulunduğu konumda, “karakter” değiştirgesiyle belirtilen karakterin yazılmasını sağlamak (sağlar).
Bu işlem gerçekleştiğinde, ilgili penceredeki imleç ilerletilir.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
karakter
Görüntülenmek istenen tekil bir karakter ya da SKT içerisindeki herhangi bir karakter.
ö1, … ,ö5
Rexx/Curses kütüphanesinde tanımlı olan öznitelik değerleri. En fazla 5 tanesi belirtilebilir.
Dönüş Değer(ler)i
OK
Başarılı sonlanış.
ERR
Başarısız sonlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
113
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWaddch.rexx -- *//* 04 */ /* -- Aciklayim : CurWaddch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak() /* 14 */ /* 15 */ RC = CurWclear(stdscr) /* 16 */ RC = CurWerase(stdscr)/* 17 */ RC = CurWrefresh(stdscr)/* 18 */ /* 19 */ RC = CurWmove(stdscr, 5, 5) /* 20 */ RC = CurWaddstr(stdscr, 'CurWaddch() islevi icin ornek.') /* 21 */ RC = CurWrefresh(stdscr)/* 22 */ /* 23 */ /* -- STDSCR penceresinin 7. satiri ve 5. dikecine -- */ /* 24 */ /* -- 'A_BOLD' ve 'A_REVERSE' etkileri kullanilarak -- *//* 25 */ /* -- 'H' karakteri yazdiriliyor. -- *//* 26 */ /* -- -- *//* 27 */ RC = CurWmove(stdscr, 7, 5) /* 28 */ RC = CurWaddch(stdscr, 'H', 'A_BOLD', 'A_REVERSE')/* 29 */ RC = CurWrefresh(stdscr)/* 30 */ /* 31 */ RC = CurWmove(stdscr, 9, 5) /* 32 */ RC = CurWaddstr(stdscr, 'Cikis icin bir tusa basin.')/* 33 */ RC = CurWrefresh(stdscr)/* 34 */ RC = CurWgetch(stdscr)/* 35 */ /* 36 */ RC = CurEndwin()/* 37 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAddch() işlevi hakkındaki bilgiye bakınız.• CurAddstr() işlevi hakkındaki bilgiye bakınız.• CurWaddstr() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
114
Rexx/Curses Kütüphanesi
CurWaddstr
RC = CurWaddstr(pencere, dizgi)
Call CurWaddstr pencere, dizgi
Erek
“dizgi” değiştirgesiyle belirtilen dizginin “pencere” değiştirgesiyle belirtilen pencerede görüntülenmesini sağlamak (sağlar).
Bu işlevsellik, bir karakter dizgisindeki her bir karakter için “CurWaddch()” işlevinin bir kez çağırılması ile aynı sonucu verir.
“dizgi” değiştirgesiyle belirtilen dizgi, varsayılan pencerede geçerli olan varsayılan öznitelik değerleri dikkate alınarak görüntülenir.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
dizgi
Görüntülenecek dizgi.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
115
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWaddstr.rexx -- *//* 04 */ /* -- Aciklayim : CurWaddstr() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak() /* 14 */ /* 15 */ RC = CurWclear(stdscr) /* 16 */ RC = CurWerase(stdscr)/* 17 */ RC = CurWrefresh(stdscr)/* 18 */ /* 19 */ RC = CurWmove(stdscr, 5, 5) /* 20 */ RC = CurWaddstr(stdscr, 'CurWaddstr() islevi icin ornek.') /* 21 */ RC = CurWrefresh(stdscr)/* 22 */ /* 23 */ /* -- STDSCR penceresinin 7. satiri ve 5. dikecine -- */ /* 24 */ /* -- 'Merhaba Dunya Insanlari !' dizgisi -- *//* 25 */ /* -- yazdiriliyor. -- *//* 26 */ /* -- -- *//* 27 */ RC = CurWmove(stdscr, 7, 5) /* 28 */ RC = CurWaddstr(stdscr, 'Merhaba Dunya Insanlari !')/* 29 */ RC = CurWrefresh(stdscr)/* 30 */ /* 31 */ RC = CurWmove(stdscr, 9, 5) /* 32 */ RC = CurWaddstr(stdscr, 'Cikis icin bir tusa basin.')/* 33 */ RC = CurWrefresh(stdscr)/* 34 */ RC = CurWgetch(stdscr)/* 35 */ /* 36 */ RC = CurEndwin()/* 37 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAddch() işlevi hakkındaki bilgiye bakınız.• CurAddstr() işlevi hakkındaki bilgiye bakınız.• CurWaddch() işlevi hakkındaki bilgiye bakınız.
CurWattroff
RC = CurWattroff(pencere, ö1, … ,ö5)
Call CurWattroff pencere, ö1, … ,ö5
Erek
“pencere” değiştirgesiyle belirtilen pencerede “ö1, … ,ö5” değiştirgeleriyle belirtilen özniteliklerin etkisiz kılınmasını sağlamak (sağlar).
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
116
Rexx/Curses Kütüphanesi
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
ö1, … ,ö5
Etkisiz kılınmak istenen öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
117
Rexx/Curses Kütüphanesi
CurWattron
RC = CurWattron(pencere, ö1, … ,ö5)
Call CurWattron pencere, ö1, … ,ö5
Erek
“pencere” değiştirgesiyle belirtilen pencerede “ö1, … ,ö5” değiştirgesiyle belirtilen öznitelik değerlerinin etkin kılınmasını sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
ö1, … ,ö5
Etkin kılınacak öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattrset() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
118
Rexx/Curses Kütüphanesi
CurWattrset
RC = CurWattrset(pencere, ö1, … ,ö5)
Call CurWattrset pencere, ö1, … ,ö5
Erek
“pencere” değiştirgesiyle belirtilen pencerede “ö1, … ,ö5” değiştirgesiyle belirtilen özniteliklerin varsayılan öznitelikler olmasını sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
ö1, … ,ö5
Varsayılan pencere için varsayılan öznitelik olması istenen öznitelikler.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
119
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWattrset.rexx -- *//* 04 */ /* -- Aciklayim : CurWattrset() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurCbreak()/* 14 */ /* 15 */ RC = CurWclear(stdscr)/* 16 */ RC = CurWerase(stdscr)/* 17 */ RC = CurWrefresh(stdscr)/* 18 */ /* 19 */ RC = CurWattrset(stdscr, 'A_BOLD A_REVERSE')/* 20 */ RC = CurWmove(stdscr, 5, 5)/* 21 */ RC = CurWaddstr(stdscr, "Koyu ve Ters Etki : 'A_BOLD A_REVERSE'")/* 22 */ RC = CurWrefresh(stdscr)/* 23 */ /* 24 */ RC = CurWattrset(stdscr, 'A_BOLD')/* 25 */ RC = CurWmove(stdscr, 7, 5)/* 26 */ RC = CurWaddstr(stdscr, "Koyu Etki : 'A_BOLD'")/* 27 */ RC = CurWrefresh(stdscr)/* 28 */ /* 29 */ RC = CurWattrset(stdscr, 'A_NORMAL')/* 30 */ RC = CurWmove(stdscr, 9, 5)/* 31 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 32 */ RC = CurWrefresh(stdscr) /* 33 */ RC = CurWgetch(stdscr)/* 34 */ /* 35 */ RC = CurEndwin()/* 36 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAttrset() işlevi hakkındaki bilgiye bakınız.• CurAttroff() işlevi hakkındaki bilgiye bakınız.• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurAttron() işlevi hakkındaki bilgiye bakınız.• CurWattroff() işlevi hakkındaki bilgiye bakınız.• CurWattron() işlevi hakkındaki bilgiye bakınız.• CurStandout() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
120
Rexx/Curses Kütüphanesi
CurWclear
RC = CurWclear(pencere)
Call CurWclear pencere
Erek
Kullanılan uçbirimde “pencere” değiştirgesiyle belirtilen pencerenin içeriğinin temizlenmesini sağlamak (sağlar).
İlgili uçbirimdeki ilgili pencere içeriğinin temizlendiğinden emin olunmak isteniyorsa, “CurWerase()” işlevi de ardı sıra çağırılmalıdır.
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
121
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWclear.rexx -- *//* 04 */ /* -- Aciklayim : CurWclear() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ /* -- Ucbirim icerigi temizleniyor. -- */ /* 15 */ RC = CurWclear(stdscr)/* 16 */ /* 17 */ RC = CurWmove(stdscr, 5, 5)/* 18 */ RC = CurWaddstr(stdscr, 'CurWclear() islevi icin ornek.')/* 19 */ RC = CurWrefresh(stdscr)/* 20 */ /* 21 */ RC = CurWmove(stdscr, 7, 5)/* 22 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 23 */ RC = CurWrefresh(stdscr)/* 24 */ /* 25 */ RC = CurWgetch(stdscr)/* 26 */ /* 27 */ RC = CurEndwin()/* 28 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
122
Rexx/Curses Kütüphanesi
CurWclrtobot
RC = CurWclrtobot(pencere)
Call CurWclrtobot pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin bulunduğu konumdan, bulunulan satırın sonuna kadar, tüm karakterlerin ve pencerenin içerisinde kalan diğer satırların temizlenmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
123
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWclrtobot.rexx -- *//* 04 */ /* -- Aciklayim : CurWclrtobot() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ RC = CurWrefresh(stdscr)/* 17 */ /* 18 */ RC = CurWmove(stdscr, 5, 5)/* 19 */ RC = CurWaddstr(stdscr, 'CurWclrtobot() islevi icin ornek. - ***')/* 20 */ RC = CurWrefresh(stdscr)/* 21 */ /* 22 */ RC = CurWmove(stdscr, 7, 5)/* 23 */ RC = CurWaddstr(stdscr, 'Yildizlari silmek icin bir tusa basiniz.')/* 24 */ RC = CurWrefresh(stdscr)/* 25 */ /* 26 */ RC = CurWmove(stdscr, 5, 40)/* 27 */ RC = CurWgetch(stdscr)/* 28 */ /* 29 */ /* -- CurWclrtobot() islevi cagiriliyor... -- */ /* 30 */ RC = CurWclrtobot(stdscr)/* 31 */ /* 32 */ RC = CurWmove(stdscr, 7, 5)/* 33 */ RC = CurWaddstr(stdscr, 'Yildizlarin hepsi silindi.')/* 34 */ /* 35 */ RC = CurWmove(stdscr, 8, 5)/* 36 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 37 */ RC = CurWrefresh(stdscr) /* 38 */ /* 39 */ RC = CurWgetch(stdscr)/* 40 */ /* 41 */ RC = CurEndwin()/* 42 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtoeol() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
124
Rexx/Curses Kütüphanesi
CurWclrtoeol
RC = CurWclrtoeol(pencere)
Call CurWclrtoeol pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin bulunduğu konumdan, ilgili satırın sonuna kadar, var olan tüm karakterlerin silinmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
125
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWclrtoeol.rexx -- *//* 04 */ /* -- Aciklayim : CurWclrtoeol() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ RC = CurWrefresh(stdscr)/* 17 */ /* 18 */ RC = CurWmove(stdscr, 5, 5)/* 19 */ RC = CurWaddstr(stdscr, 'CurWclrtoeol() islevi icin ornek. - *****')/* 20 */ RC = CurWrefresh(stdscr) /* 21 */ /* 22 */ RC = CurWmove(stdscr, 7, 5)/* 23 */ RC = CurWaddstr(stdscr, 'Yildizlari silmek icin bir tusa basiniz.')/* 24 */ RC = CurWrefresh(stdscr)/* 25 */ /* 26 */ RC = CurWmove(stdscr, 5, 40)/* 27 */ RC = CurWgetch(stdscr)/* 28 */ /* 29 */ RC = CurWclrtobot(stdscr)/* 30 */ /* 31 */ RC = CurWmove(stdscr, 7, 5)/* 32 */ /* 33 */ /* -- CurWclrtoeol() islevi cagiriliyor... -- */ /* 34 */ /* -- Bu islemin bir sonucu olarak, 7. satir ve 5. dikec -- *//* 35 */ /* -- konumundan itibaren, var olan tum karakterler -- *//* 36 */ /* -- siliniyor. -- *//* 37 */ RC = CurWclrtoeol(stdscr)/* 38 */ /* 39 */ RC = CurWaddstr(stdscr, 'Yildizlarin hepsi silindi.')/* 40 */ /* 41 */ RC = CurWmove(stdscr, 8, 5)/* 42 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 43 */ RC = CurWrefresh(stdscr) /* 44 */ /* 45 */ RC = CurWgetch(stdscr)/* 46 */ /* 47 */ RC = CurEndwin()/* 48 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurClrtobot() işlevi hakkındaki bilgiye bakınız.• CurClrtoeol() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWclrtobot() işlevi hakkındaki bilgiye bakınız.• CurWerase() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
126
Rexx/Curses Kütüphanesi
CurWdelch
RC = CurWdelch(pencere)
Call CurWdelch pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin altında bulunan karakterin silinmesini sağlamak (sağlar).
Aynı satırda sağda kalan karakterler bir imleç konumu sola kaydırılır.
En son karakterin konumu, bir boşluk karakteri ile doldurulur.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
127
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWdelch.rexx -- *//* 04 */ /* -- Aciklayim : CurWdelch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ RC = CurWrefresh(stdscr)/* 17 */ /* 18 */ RC = CurWmove(stdscr, 5, 5)/* 19 */ RC = CurWaddstr(stdscr, 'CurWdelch() islevi icin ornek.')/* 20 */ RC = CurWrefresh(stdscr)/* 21 */ /* 22 */ RC = CurWmove(stdscr, 7, 5)/* 23 */ RC = CurWaddstr(stdscr, 'Devam icin herhangi bir tusa basiniz')/* 24 */ RC = CurWmove(stdscr, 9, 5)/* 25 */ RC = CurWaddstr(stdscr, 'Imlec su anda burada.')/* 26 */ RC = CurWmove(stdscr, 9, 19)/* 27 */ RC = CurWrefresh(stdscr)/* 28 */ RC = CurWgetch(stdscr)/* 29 */ /* 30 */ /* -- CurWdelch() islevi cagiriliyor. -- */ /* 31 */ RC = CurWdelch(stdscr) /* 32 */ /* 33 */ RC = CurWmove(stdscr, 11, 5)/* 34 */ RC = CurWaddstr(stdscr, "'burada' kelimesinin 'b' harfi silindi.")/* 35 */ RC = CurWmove(stdscr, 13, 5)/* 36 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 37 */ RC = CurWrefresh(stdscr)/* 38 */ RC = CurWgetch(stdscr)/* 39 */ /* 40 */ RC = CurEndwin()/* 41 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurDelch() işlevi hakkındaki bilgiye bakınız.• CurDeleteln() işlevi hakkındaki bilgiye bakınız.• CurWdeleteln() işlevi hakkındaki bilgiye bakınız.• CurDelwin() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
128
Rexx/Curses Kütüphanesi
CurWdeleteln
RC = CurWdeleteln(pencere)
Call CurWdeleteln pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin altında bulunan satırın silinmesini sağlamak (sağlar).
İmlecin bulunduğu satırın altındaki tüm satırlar, bir satır yukarı taşınır.
Bu işlemler sırasında, imlecin konumu asla değişmez.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
129
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWdeleteln.rexx -- *//* 04 */ /* -- Aciklayim : CurWdeleteln() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ RC = CurWrefresh(stdscr)/* 17 */ /* 18 */ RC = CurWmove(stdscr, 5, 5)/* 19 */ RC = CurWaddstr(stdscr, '05 - CurWdeleteln() islevi icin ornek.')/* 20 */ RC = CurWrefresh(stdscr)/* 21 */ /* 22 */ RC = CurWmove(stdscr, 7, 5)/* 23 */ RC = CurWaddstr(stdscr, '07 - Devam icin herhangi bir tusa basiniz')/* 24 */ RC = CurWmove(stdscr, 9, 5)/* 25 */ RC = CurWaddstr(stdscr, '09 - Imlec su anda burada.')/* 26 */ RC = CurWmove(stdscr, 9, 19)/* 27 */ RC = CurWrefresh(stdscr)/* 28 */ RC = CurWgetch(stdscr)/* 29 */ /* 30 */ /* -- CurWdeleteln() islevi cagiriliyor. -- */ /* 31 */ RC = CurWdeleteln(stdscr)/* 32 */ /* 33 */ RC = CurWmove(stdscr, 11, 5)/* 34 */ RC = CurWaddstr(stdscr, '11 - 09 numarali satir silindi. : 11 -> 10')/* 35 */ RC = CurWmove(stdscr, 13, 5)/* 36 */ RC = CurWaddstr(stdscr, '13 - Cikis icin bir tusa basiniz. : 13 -> 12')/* 37 */ RC = CurWrefresh(stdscr)/* 38 */ RC = CurWgetch(stdscr)/* 39 */ /* 40 */ RC = CurEndwin()/* 41 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurDelch() işlevi hakkındaki bilgiye bakınız.• CurDeleteln() işlevi hakkındaki bilgiye bakınız.• CurWdelch() işlevi hakkındaki bilgiye bakınız.• CurDelwin() işlevi hakkındaki bilgiye bakınız.
CurWerase
RC = CurWerase(pencere)
Call CurWerase pencere
Erek
“pencere” değiştirgesiyle belirtilen penceredeki her konuma boşluk çoğaltımlarının yerleştirilmesini sağlamak (sağlar).
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
130
Rexx/Curses Kütüphanesi
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWerase.rexx -- *//* 04 */ /* -- Aciklayim : CurWerase() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ /* 16 */ /* -- CurWerase() islevi cagriliyor. -- */ /* 17 */ RC = CurWerase(stdscr)/* 18 */ /* 19 */ RC = CurWrefresh(stdscr)/* 20 */ /* 21 */ RC = CurWmove(stdscr, 5, 5)/* 22 */ RC = CurWaddstr(stdscr, 'CurWerase() islevi icin ornek.')/* 23 */ RC = CurWrefresh(stdscr)/* 24 */ /* 25 */ RC = CurWmove(stdscr, 7, 5) /* 26 */ RC = CurWaddstr(stdscr, 'Cikis icin bir tusa basiniz.')/* 27 */ RC = CurWrefresh(stdscr)/* 28 */ /* 29 */ RC = CurWgetch(stdscr)/* 30 */ /* 31 */ RC = CurEndwin()/* 32 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
131
Rexx/Curses Kütüphanesi
Açıklayım(lar)
• CurClear() işlevi hakkındaki bilgiye bakınız.• CurClearok() işlevi hakkındaki bilgiye bakınız.• CurErase() işlevi hakkındaki bilgiye bakınız.• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWclear() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.
CurWgetch
RC = CurWgetch(pencere)
Call CurWgetch pencere
Erek
“pencere” değiştirgesiyle belirtilen pencereden bir karakterin okunmasını sağlamak (sağlar).
Kullanılan pencere için “CurNodelay()” işlevi etkin kılınmışsa ve herhangi bir veri girişi yapılmamışsa, ERR değeri geri gönderilir.
Kullanılan pencere için “CurNodelay()” işlevi etkisiz kılınmamışsa, işletim dizgesi girilen verileri ilgili izlenceye aktarana kadar girilen veriler tutulacaktır. “CurCbreak()” işlevinin ayarına dayanan bu durum, bir yeni satır karakteri sonrası girilen bir karakterden sonra meydana gelecektir.
“CurNoecho()” işlevi kullanılmadığı sürece, girilen karakter ekranda yankılanacaktır.
Kullanılan pencere için “CurKeypad()” işlevi etkin kılınmışsa ve bir işlev tuşuna basılmışsa, ilgili işlev tuşu için geçerli olan simge, sıra karakterlerinin yerine geri gönderilecektir. Olası işlev tuşlarının isimleri, Rexx/Curses kütüphanesinde “KEY_” dizgisiyle başlamaktadır.
ESC gibi bir işlev tuşunun ilk karakteri elde edilirse, zamanlayıcı ayarlı demektir. Geriye kalan karakter sırasının devamı (kalanı) öngörülen zamanda gelmezse, girilen karakter(ler) ilgili izlenceye geçirilecektir. Aksi halde, işlev tuşunun değeri geri gönderilecektir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
132
Rexx/Curses Kütüphanesi
Bundan dolayı, bazı uçbirimlerde, ilgili izlenceye aktarılan kaçış tuşu değeri öncesinde, kullanıcı ESC tuşuna bastıktan sonra bir gecikiş yaşanacaktır. (Tekil bir işlev tuşu için ESC tuşunun programcı tarafından kullanımı, vazgeçilecek –dikkate alınmayacak- bir durumdur.)
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
Örnek Kullanım
Birinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWgetch01.rexx -- *//* 04 */ /* -- Aciklayim : CurWgetch() islevi icin -- *//* 05 */ /* -- 1. ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurWclear(stdscr)/* 17 */ RC = CurWerase(stdscr)/* 18 */ RC = CurWrefresh(stdscr)/* 19 */ /* 20 */ RC = CurWmove(stdscr, 5, 5) /* 21 */ RC = CurWaddstr(stdscr, 'CurWgetch() islevi icin 1. ornek. - Yanki var.')/* 22 */ RC = CurWmove(stdscr, 6, 5)/* 23 */ RC = CurWaddstr(stdscr, 'Islev tuslarini kullanmayiniz.')/* 24 */ RC = CurWrefresh(stdscr)/* 25 */ /* 26 */ RC = CurEcho()/* 27 */ /* 28 */ RC = CurWmove(stdscr, 8, 5) /* 29 */ RC = CurWaddstr(stdscr, 'Bir tusa basiniz: ')/* 30 */ RC = CurWrefresh(stdscr)/* 31 */ /* 32 */ RC = CurWmove(stdscr, 8, 23)/* 33 */ /* 34 */ /* -- Tus okuyus islemi yapiliyor. -- */ /* 35 */ /* -- Islev tuslari kullanilamaz. -- *//* 36 */ tus = CurWgetch(stdscr)/* 37 */ /* 38 */ RC = CurWmove(stdscr, 10, 5)/* 39 */ RC = CurWaddstr(stdscr, 'Basilan tus: '||tus)/* 40 */ RC = CurWrefresh(stdscr)/* 41 */ /* 42 */ RC = CurWmove(stdscr, 12, 5)/* 43 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 44 */ RC = CurWrefresh(stdscr)/* 45 */ /* 46 */ RC = CurWgetch(stdscr)/* 47 */ /* 48 */ RC = CurEndwin()/* 49 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
133
Rexx/Curses Kütüphanesi
İkinci Kullanım:
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWgetch02.rexx -- *//* 04 */ /* -- Aciklayim : CurWgetch() islevi icin -- *//* 05 */ /* -- 2. ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr()/* 13 */ /* 14 */ RC = CurCbreak() /* 15 */ /* 16 */ RC = CurWclear(stdscr)/* 17 */ RC = CurWerase(stdscr)/* 18 */ RC = CurWrefresh(stdscr)/* 19 */ /* 20 */ RC = CurWmove(stdscr, 5, 5)/* 21 */ RC = CurWaddstr(stdscr, 'CurWgetch() islevi icin 2. ornek. - Yanki yok.')/* 22 */ RC = CurWmove(stdscr, 6, 5) /* 23 */ RC = CurWaddstr(stdscr, 'Islev tuslari kullanilabilir.')/* 24 */ RC = CurWrefresh(stdscr)/* 25 */ /* 26 */ RC = CurNoecho() /* 27 */ /* 28 */ RC = CurWmove(stdscr, 8, 5)/* 29 */ RC = CurWaddstr(stdscr, 'Bir tusa basiniz: ')/* 30 */ RC = CurWrefresh(stdscr)/* 31 */ /* 32 */ RC = CurWmove(stdscr, 8, 23) /* 33 */ /* 34 */ /* -- Ozel tus isimlerinin elde edilebilmesi -- *//* 35 */ /* -- icin CurKeypad() cagriliyor. -- *//* 36 */ RC = CurKeypad(stdscr, 1)/* 37 */ /* 38 */ /* -- Tus okuyus islemi yapiliyor. -- */ /* 39 */ /* -- Islev tuslari kullanilamaz. -- *//* 40 */ tus = CurWgetch(stdscr)/* 41 */ /* 42 */ RC = CurWmove(stdscr, 10, 5)/* 43 */ RC = CurWaddstr(stdscr, 'Basilan tus: '||tus)/* 44 */ RC = CurWrefresh(stdscr)/* 45 */ /* 46 */ RC = CurWmove(stdscr, 12, 5) /* 47 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 48 */ RC = CurWrefresh(stdscr)/* 49 */ /* 50 */ RC = CurWgetch(stdscr)/* 51 */ /* 52 */ RC = CurEndwin()/* 53 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurGetstr() işlevi hakkındaki bilgiye bakınız.• CurWgetstr() işlevi hakkındaki bilgiye bakınız.• CurGetMouseInfo() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
134
Rexx/Curses Kütüphanesi
CurWgetstr
RC = CurWgetstr(pencere)
Call CurWgetstr pencere
Erek
“pencere” değiştirgesiyle belirtilen pencereden bir dizginin (karakter katarının) okunmasını sağlamak (sağlar).
Bu işlev, “CurWgetch()” işlevinin ardıl çağrımı ile aynı etkiye sahiptir. Söz konusu bu etki, bir yeni satır (NL; New Line) ya da taşıyıcı dönüşü (CR; Carriage Return) karakteri ile karşılaşılıncaya kadar devam eder.
Sonuç dizgisi, kendisine çağırana geri gönderilir.
Kullanıcı tarafından girilen siliş ve öldürüş karakterleri, işlev tuşları gibi özel tuşlar olarak yorumlanır.
Değiştirge(ler)
pencere
Kullanılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurGetstr() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
135
Rexx/Curses Kütüphanesi
CurWinch
RC = CurWinch(pencere)
Call CurWinch pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin konumlandığı yerin altındaki karakterin ve özniteliklerin elde edilmesini sağlamak (sağlar).
Elde edilen bu değer, elde edildiği şekliyle kullanılamaz. Kullanabilmek için “CurAttributes()” ve “CurChartext()” işlevleri kullanılarak bileşenlerine ayrılması gerekmektedir.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
“Erek” bölümcesinde yer alan bilgileri dikkatlice okuyunuz.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
136
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWinch.rexx -- *//* 04 */ /* -- Aciklayim : CurWinch() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ RC = CurLoadFuncs()/* 11 */ RC = CurInitscr() /* 12 */ /* 13 */ RC = CurWclear(stdscr)/* 14 */ RC = CurWerase(stdscr)/* 15 */ RC = CurWrefresh(stdscr)/* 16 */ /* 17 */ /* -- Burada karakter/oznitelik oransal degeri -- */ /* 18 */ /* -- elde ediliyor. -- */ /* 19 */ ko_orani = CurWinch(stdscr)/* 20 */ /* 21 */ karakter_degeri = CurChartext(ko_orani)/* 22 */ If karakter_degeri == ' ' Then/* 23 */ Do/* 24 */ kd_sonuc = 'TANIMSIZ_KARAKTER_ORANI'/* 25 */ End/* 26 */ ;;; /* 27 */ /* 28 */ oznitelik_degeri = CurAttributes(ko_orani)/* 29 */ /* 30 */ RC = CurWmove(stdscr, 5, 5)/* 31 */ RC = CurWaddstr(stdscr, 'CurWinch() islevi icin ornek.')/* 32 */ RC = CurWrefresh(stdscr)/* 33 */ /* 34 */ RC = CurWmove(stdscr, 7, 5)/* 35 */ RC = CurWaddstr(stdscr, 'Karakter Degeri : '||kd_sonuc)/* 36 */ RC = CurWmove(stdscr, 8, 5)/* 37 */ RC = CurWaddstr(stdscr, 'Oznitelik Degeri : '||oznitelik_degeri)/* 38 */ RC = CurWrefresh(stdscr)/* 39 */ /* 40 */ RC = CurWmove(stdscr, 10, 5)/* 41 */ RC = CurWaddstr(stdscr, 'Cikis icin bir tusa basiniz.')/* 42 */ RC = CurWrefresh(stdscr)/* 43 */ RC = CurWgetch(stdscr)/* 44 */ /* 45 */ RC = CurEndwin()/* 46 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurAttributes() işlevi hakkındaki bilgiye bakınız.• CurChartext() işlevi hakkındaki bilgiye bakınız.• CurInch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
137
Rexx/Curses Kütüphanesi
CurWinsertln
RC = CurWinsertln(pencere)
Call CurWinsertln pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerede, imlecin konumlandığı satırın bir üstünde yer alan satır konumuna boş bir satırın eklenmesini sağlamak (sağlar).
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
138
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWinsertln.rexx -- *//* 04 */ /* -- Aciklayim : CurWinsertln() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ RC = CurWrefresh(stdscr)/* 17 */ /* 18 */ RC = CurWmove(stdscr, 3, 5) /* 19 */ RC = CurWaddstr(stdscr, 'CurWinsertln() islevi icin ornek.')/* 20 */ RC = CurWrefresh(stdscr)/* 21 */ /* 22 */ RC = CurWmove(stdscr, 5, 5) /* 23 */ RC = CurWaddstr(stdscr, 'Ardahan')/* 24 */ RC = CurWmove(stdscr, 6, 5) /* 25 */ RC = CurWaddstr(stdscr, 'Kars')/* 26 */ RC = CurWmove(stdscr, 7, 5) /* 27 */ RC = CurWaddstr(stdscr, 'Erzurum')/* 28 */ RC = CurWmove(stdscr, 8, 5) /* 29 */ RC = CurWaddstr(stdscr, 'Erzincan')/* 30 */ RC = CurWmove(stdscr, 10, 5) /* 31 */ RC = CurWaddstr(stdscr, "'Erzurum' ve 'Erzincan' arasina bos bir satir")/* 32 */ RC = CurWmove(stdscr, 11, 5) /* 33 */ RC = CurWaddstr(stdscr, 'yerlestirmek icin herhangi bir tusa basiniz.')/* 34 */ RC = CurWmove(stdscr, 8, 14) /* 35 */ RC = CurWaddstr(stdscr, '<- Imlec su anda bu satirda bulunmaktadir.')/* 36 */ RC = CurWrefresh(stdscr) /* 37 */ /* 38 */ RC = CurWgetch(stdscr)/* 39 */ /* 40 */ /* -- CurWinsertln() islevi cagiriliyor. -- */ /* 41 */ RC = CurWinsertln(stdscr)/* 42 */ /* 43 */ RC = CurWmove(stdscr, 14, 5) /* 44 */ RC = CurWaddstr(stdscr, 'Yerlestiris tamamlandi ve sonraki satirlar')/* 45 */ RC = CurWmove(stdscr, 15, 5) /* 46 */ RC = CurWaddstr(stdscr, 'asagi otelenip en son satir varliksal')/* 45 */ RC = CurWmove(stdscr, 16, 5) /* 46 */ RC = CurWaddstr(stdscr, 'olarak silindi.')/* 47 */ RC = CurWmove(stdscr, 18, 5) /* 48 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 49 */ RC = CurWrefresh(stdscr)/* 50 */ /* 51 */ RC = CurWgetch(stdscr)/* 52 */ /* 53 */ RC = CurEndwin()/* 54 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurInsch() işlevi hakkındaki bilgiye bakınız.• CurInsertln() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
139
Rexx/Curses Kütüphanesi
CurWrefresh
RC = CurWrefresh(pencere)
Call CurWrefresh pencere
Erek
“pencere” değiştirgesiyle belirtilen pencerenin içeriğinin donanımsal uçbirim ekranına çoğaltılmasını sağlamak (sağlar).
Amacının diğer bir ifadeyle oluşturulmuş şekli, kullanılan pencere içeriğinin tazelenmesini (yenilenmesini) sağlamak.
Bu işleve ait sonuç, “CurWnoutrefresh()” işlevinin ardı sıra “CurDoupdate()” işlevinin kullanılmasıyla gerçekleşir.
Kendisinin kullanımından önce, “CurLeaveok()” işlevi etkin kılınmışsa, donanımsal uçbirimin imleci, kullanılan pencerenin imleç konumunun solunda yer alır.
Değiştirge(ler)
pencere
Üzerinde işlem yapılacak pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
140
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* --------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWrefresh.rexx -- *//* 04 */ /* -- Aciklayim : CurWrefresh() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* --------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ /* 17 */ /* -- CurWrefresh() islevi cagriliyor. -- */ /* 18 */ RC = CurWrefresh(stdscr) /* 19 */ /* 20 */ RC = CurWmove(stdscr, 5, 5) /* 21 */ RC = CurWaddstr(stdscr, 'CurWrefresh() islevi icin ornek.')/* 22 */ RC = CurWrefresh(stdscr)/* 23 */ /* 24 */ RC = CurWmove(stdscr, 7, 5)/* 25 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 26 */ RC = CurWrefresh(stdscr)/* 27 */ /* 28 */ RC = CurWgetch(stdscr)/* 29 */ /* 30 */ RC = CurEndwin()/* 31 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurDoupdate() işlevi hakkındaki bilgiye bakınız.• CurWnoutrefresh() işlevi hakkındaki bilgiye bakınız.
CurWnoutrefresh
RC = CurWnoutrefresh(pencere)
Call CurWnoutrefresh pencere
Erek
“pencere” değiştirgesiyle belirtilen pencereye ait içeriğin, uçbirim ekranının içsel sunum alanına çoğaltılmasını sağlamak (sağlar).
Bu işlevin kullanılışı sonucu, “CurDoupdate()” işlevi tarafından yapılacak gerçek görüntüleyişe hazırlık olması açısından çeşitli pencerelerin tazelenişi olanaklı kılınır.
Fakat bu işlemin bir sonucu olarak, meydana gelen doğasal tazeleyiş işleminin sayısı azalır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
141
Rexx/Curses Kütüphanesi
Değiştirge(ler)
pencere
Üzerinde işlem yapılmak istenen pencereyi tanımlayan değer.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
Örnek Kullanım
/* REXX *//* 01 */ /* ----------------------------------------------- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurWnoutrefresh.rexx -- *//* 04 */ /* -- Aciklayim : CurWnoutrefresh() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* ----------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurWclear(stdscr)/* 15 */ RC = CurWerase(stdscr)/* 16 */ /* 17 */ /* -- CurWnoutrefresh() islevi cagriliyor. -- */ /* 18 */ RC = CurWnoutrefresh(stdscr)/* 19 */ /* 20 */ /* -- CurWnoutrefresh() islevini tamamlamak icin -- */ /* 21 */ /* -- CurDoupdate() islevi cagriliyor. -- *//* 22 */ RC = CurDoupdate() /* 23 */ /* 24 */ RC = CurWmove(stdscr, 5, 5) /* 25 */ RC = CurWaddstr(stdscr, 'CurWnoutrefresh() islevi icin ornek.')/* 26 */ RC = CurWrefresh(stdscr)/* 27 */ /* 28 */ RC = CurWmove(stdscr, 7, 5)/* 29 */ RC = CurWaddstr(stdscr, 'Cikis icin herhangi bir tusa basiniz.')/* 30 */ RC = CurWrefresh(stdscr)/* 31 */ /* 32 */ RC = CurWgetch(stdscr)/* 33 */ /* 34 */ RC = CurEndwin()/* 35 */ RC = RxFuncDrop('CurLoadFuncs')
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
142
Rexx/Curses Kütüphanesi
Açıklayım(lar)
• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.• CurDoupdate() işlevi hakkındaki bilgiye bakınız.
CurDoupdate
RC = CurDoupdate()
Call CurDoupdate
Erek
Kullanılan uçbirim ekranın tazelenmesini sağlayarak, onu imleç hareketlerinin en iyileştirilmesini sağlayacak hesabın (ortamın) içerisine yöneltilmesini sağlamak (sağlar).
Bu işlev, uçbirim ekranına verileri almak (yöneltmek) amacıyla mutlaka çağırılmalıdır. Çünkü kendisinin sonrasında çağırılacak işlevlerin, ilgili Rexx/Curses veri yapılarını işleyebilmesi için bu gereklidir.
Kendisinin kullanımından önce, “CurLeaveok()” işlevi etkin kılınmışsa, donanımsal uçbirimin imleci, kullanılan pencerenin imleç konumunun solunda yer alır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
143
Rexx/Curses Kütüphanesi
Örnek Kullanım
“CurWnoutrefresh()” işlevi hakkında bilgi veren öbekteki örnek kullanıma bakınız.
Açıklayım(lar)
• CurRefresh() işlevi hakkındaki bilgiye bakınız.• CurWrefresh() işlevi hakkındaki bilgiye bakınız.• CurWnoutrefresh() işlevi hakkındaki bilgiye bakınız.
CurGetMouseInfo
RC = CurGetMouseInfo(kulp.)
Call CurGetMouseInfo kulp.
Erek
Farenin güncel etkinliği hakkında bilgi alınmasını sağlamak (sağlar).
Bu durum, “CurGetch()” ya da “CurWgetch()” işlevinin “KEY_MOUSE” değerini geri göndermesiyle eş anlamlıdır.
Değiştirge(ler)
kulp.
Elde edilecek bilgilerin atanacağı REXX değişkeni. Mutlaka, bir tane nokta (“.”) karakteri ile sonlanmalıdır.
kulp.0: Bilgi yüklenen kulpların toplam sayısı.kulp.1: İmleç deviniminin oluştuğu yatay eksen değeri.kulp.2: İmleç deviniminin oluştuğu dikey eksen değeri.kulp.3: Fare düğmelerinin toplam sayısı.kulp.4: Düğme ile oluşan devinimin bilgisi.kulp.5: Düğme hareketini değiştiren öğe hakkında bilgi.
“kulp.1” ve “kulp.2” isimli değişkenlerle elde edilecek eksen değerleri, karakter olarak ifade edilmiştir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
144
Rexx/Curses Kütüphanesi
“kulp.3” değişkeni ile elde edilebilecek değerler 1, 2 ve 3 şeklindedir.
“kulp.4” değişkeni ile elde edilecek değerler ve bu değerlerin anlamları
R: Düğme bırakıldı.P: Düğmeye basıldı.C: Düğme tıklandı.2: Düğme iki kez tıklandı.3: Düğme üç kez tıklandı.D: Düğmeye basılarak fare sürüklendi.
şeklinde tanımlıdır.
“kulp.5” değişkeni ile elde edilecek değerler ve bu değerlerin anlamları
S: “Shift” tuşu kullanıldı.C: “Ctrl” tuşu kullanıldı.A: “Alt” tuşu kullanıldı.?: Bilinmeyen bir tuş kullanıldı. (null)
şeklinde tanımlıdır.
Bazı uçbirimlerde “kulp.4” ve “kulp.5” değişkeni ile elde edilebilecek harfsel değerler yerine rakamsal değerler de elde edilebilmektedir.
Dönüş Değer(ler)i
OK
Başarılı sonuçlanış.
ERR
Başarısız sonuçlanış.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
145
Rexx/Curses Kütüphanesi
Örnek Kullanım
/* REXX *//* 01 */ /* -------------------------------------------- -- *//* 02 */ /* -- -- *//* 03 */ /* -- Betik Adi : CurGetMouseInfo.rexx -- *//* 04 */ /* -- Aciklayim : CurGetMouseInfo() islevi icin -- *//* 05 */ /* -- ornek betik. -- *//* 06 */ /* -- -- *//* 07 */ /* ----------------------------------------------- *//* 08 */ /* 09 */ RC = RxFuncAdd('CurLoadFuncs', 'rxcurses', 'CurLoadFuncs')/* 10 */ /* 11 */ RC = CurLoadFuncs()/* 12 */ RC = CurInitscr() /* 13 */ /* 14 */ RC = CurClear() /* 15 */ RC = CurErase() /* 16 */ RC = CurRefresh() /* 17 */ /* 18 */ RC = CurMove(2, 5) /* 19 */ RC = CurAddstr('CurGetMouseInfo() islevi icin ornek.')/* 20 */ RC = CurMove(3, 5) /* 21 */ RC = CurAddstr('Fareye tiklayin ve bir tusa basin.')/* 22 */ RC = CurRefresh() /* 23 */ /* 24 */ RC = CurGetch() /* 25 */ RC = CurGetMouseInfo(bilgi.) /* 26 */ /* 27 */ RC = CurMove(5, 5) /* 28 */ RC = CurAddstr('bilgi.0 : '||bilgi.0) /* 29 */ RC = CurMove(6, 5) /* 30 */ RC = CurAddstr('bilgi.1 : '||bilgi.1) /* 31 */ RC = CurMove(7, 5) /* 32 */ RC = CurAddstr('bilgi.2 : '||bilgi.2) /* 33 */ RC = CurMove(8, 5) /* 34 */ RC = CurAddstr('bilgi.3 : '||bilgi.3) /* 35 */ RC = CurMove(9, 5) /* 36 */ RC = CurAddstr('bilgi.4 : '||bilgi.4) /* 37 */ RC = CurMove(10, 5) /* 38 */ RC = CurAddstr('bilgi.5 : '||bilgi.5) /* 39 */ RC = CurRefresh()/* 40 */ /* 41 */ RC = CurMove(21, 5) /* 42 */ RC = CurAddstr('Cikis icin herhangi bir tusa basiniz.')/* 43 */ RC = CurRefresh()/* 44 */ RC = CurGetch()/* 45 */ /* 46 */ RC = CurEndwin()/* 47 */ RC = RxFuncDrop('CurLoadFuncs')
Açıklayım(lar)
• CurGetch() işlevi hakkındaki bilgiye bakınız.• CurWgetch() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
146
Rexx/Curses Kütüphanesi
CurDropFuncs
RC = CurDropFuncs()
Call CurDropFuncs
Erek
Rexx/Curses kütüphanesinin bellekten uzaklaştırılmasını ve ilgili bellek kaynaklarının serbest bırakılmasını sağlamak (sağlar).
Rexx/Curses kütüphanesinin özgün belgeleyişinde, bu işlevin ilgili izlencenin en sonunda yer alması gerektiği vurgulanmıştır. Ancak, Windows XP işletim dizgesi altında yapılan çalışımlarda, bu durumun çeşitli çalışım anı hatalarına neden olduğu gözlemlendi.
Bundan dolayı, bu işlev ile ilgili herhangi bir örnek kullanım verilememektedir.
Bu işlev, özellikle, “SIGNAL ON SYNTAX” hatasının yakalanmasından sonra mutlaka çağırılmalıdır.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
Sıfır (0)
Her zaman bu değeri geri gönderir.
Örnek Kullanım
“Erek” bölümcesine bakınız.
Açıklayım(lar)
• “Sorgulayış/Kuruluş/Kaldırış” konusuna bakınız.• “Oturum Başlatış/Sonlandırış” konusuna bakınız.• CurLoadFuncs() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
147
Rexx/Curses Kütüphanesi
CurLoadFuncs
RC = CurLoadFuncs()
Call CurLoadFuncs
Erek
Rexx/Curses kütüphanesine ait işlevlerin belleğe yüklenmesini sağlamak (sağlar).
REXX programlama diline ait “RxFuncAdd()” işlevinin ardı sıra mutlaka kullanılmalıdır.
Rexx/Curses kütüphanesinin devingen bağlantı kütüphanesi (DLL; Dynamic Link Library) türünden bir uyarlayışı bulunmaktadır. Bununla birlikte, edimli kütük türünden bir uyarlayışı da mevcuttur. Ereklerinize ve kullanım kolaylığınıza hangisi en iyi yanıt veriyorsa, lütfen ilgili uyarlayışı kullanınız.
Değiştirge(ler)
Yok. (-)
Dönüş Değer(ler)i
Sıfır (0)
Her zaman bu değeri geri gönderir.
Örnek Kullanım
Kitap içerisinde yer alan örnek kullanımlara bakınız.
Açıklayım(lar)
• “Sorgulayış/Kuruluş/Kaldırış” konusuna bakınız.• “Oturum Başlatış/Sonlandırış” konusuna bakınız.• CurDropFuncs() işlevi hakkındaki bilgiye bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
148
Rexx/Curses Kütüphanesi
CurVariable
RC = CurVariable(değişken, değer)
Call CurVariable değişken, değer
Erek
“değişken” değiştirgesiyle belirtilen Rexx/Curses kütüphanesine özgü özel değişkenlere ait güncel değerlerin okunmasını ve/veya değiştirilmesini sağlamak (sağlar).
Değiştirge(ler)
değişken
Rexx/Curses kütüphanesine ait olan özel değişkenler. Söz konusu değişkenlerin adları ve içerikleri izleyen satırlarda belirtildiği gibidir.
VERSION (Yalnızca Okunur)
• Kütüphane ismi. Genellikle “RXCURSES” dizgisidir.• Rexx/Curses Sürümü. Örnek: 1.0.0• Rexx/Curses Tarihi. REXX ölçünlü tarih biçimi.
Örnek: 10 Jun 1995
Tam Olarak: 1.0.0 10 Jun 1995
DEBUG (Atanır)
• 0: Hata ayıklayış bilgisi görüntülenmeyecek. (Varsayılan)• 1: REXX değişkenleri görüntülenir. (“-v” Değiştirgesi)• 2: İşlev G/Ç bilgisi görüntülenir. (“-d” Değiştirgesi)• 4: Düşük seviye hata ayıklayış bilgisi görüntülenir.
(“-D” Değiştirgesi)
Bu değerler, birbirleriyle toplanarak kullanılabilir. Örnek olarak, “-d –v –D” şeklindeki buyruk satırı değiştirgelerini kullanmak yerine, yedi (7) sayısal değeri (1+2+4) kullanılabilir.
DEBUGFILE (Atanır)
Rexx/Curses kütüphanesi ile ilintili hata ayıklayış bilgilerinin belli bir dosyaya yazılmasını sağlanır.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
149
Rexx/Curses Kütüphanesi
Dönüş Değer(ler)i
“değişken” değiştirgesi ile belirtilebilecek değerler doğrultusunda elde edilebilecek bilgiler.
Örnek Kullanım
Bu işlev kullanılarak yapılan örnek uygulayımlarda başarılı bir sonuç elde edilemedi. Bundan dolayı, herhangi bir örnek verilemiyor.
Açıklayım(lar)
• Kullanımı tercih edilen REXX yorumlayıcısı hakkındaki bilgilere ve belgeleyişe bakınız.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
150
Rexx/Curses Kütüphanesi
Sözlükçe
Bu kitap içerisinde kullanımı söz konusu olan öztürkçe karşılıkların, değişik dillerdeki yansıyışları izleyen satırlarda belirtildiği gibidir.
• Ağ Sayfası: Web Sayfası• Bağlantı: Link• Belgeleyiş: Dokümantasyon• Bellek: Hafıza• Betik: Script• Biçim: Format• Birincil: Majör• Birliktelik: Kombinasyon• Bulunak: Adres• Bölümce: Paragraf• Büyüksel: Makro• Çoğaltım: Kopya (isim olarak)• Çoğaltım: Kopyalayış işlemi (edim olarak)• Derleyiş: Telif• Derleyiş Hakkı: Telif Hakkı• Devingen: Dinamik• Dikeç: Sütun• Dizelge: Liste• Dizelgeleştirmek: Listelemek• Dizge: Sistem• Doğasal: Fiziki• Durağan: Statik• Dizgi: String• Düzgü: Kod• Edimli: Yürütülebilir, Binary• Erek: Amaç• Haritalayış: Mapping• İkincil: Minör• İzlence: Program• Kip: Mod• Küçüksel: Mikro• Oturum: Seans• Ölçün: Standart (isim olarak)• Ölçünlü: Standart (sıfat olarak)• Öykünüş: Taklit• Öznitelik: Attribute• Sınırlayış: Blocking, Limitasyon• Sözdizimi: Sentaks• Uçbirim: Terminal
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
151
Rexx/Curses Kütüphanesi
Kaynakça
• REXX Programlama Dili
REXX programlama dili hakkında hazırlanmış ilk Türkçe yayın olan ve tarafımdan yazılan bu elektronik kitaba
http://www.halukpolat.com/tr/kitaplar/rexx/
şeklindeki URL bulunağından ulaşılabilir.
• Rexx Language Association (RexxLA)
REXX programlama dili üzerine kurulmuş ve uluslar arası niteliği olan dernek. Derneğin resmi ağ sayfasına
http://www.rexxla.org/
şeklindeki URL bulunağından ulaşılabilir.
• Mark HESSLING
Kendisi tarafından oluşturulan Regina isimli REXX programlama dili yorumlayıcısı ve REXX programlama dili ile ilintili yazılım ürünleri hakkında bilgi veren ağ sayfasına
http://www.rexx.org/
şeklindeki URL bulunağından ulaşılabilir.
• Kişisel Ağ Sayfam
Şahsıma ait kişisel ağ sayfamda REXX programlama dili başta olmak üzere diğer pek çok bilişimsel konuda bilgiler bulunmaktadır. Kişisel ağ sayfama
http://www.halukpolat.com/
şeklindeki URL bulunağından ulaşılabilir.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
152
Rexx/Curses Kütüphanesi
Sonsöz
• Sizlerle paylaştığım bu yayınım hakkındaki her türlü görüşü, öneriyi, düşünceyi ve yapıcı eleştiriyi
şeklindeki elmek bulunağıma göndermenizi rica ediyorum.
Saygılarımla…Haluk POLAT
01 Ekim 2007 ( 01.10.2007 ) – Pazartesi
Derleyiş Hakkı
1. © HALUK POLAT 1997–2000, KARS, TÜRKİYE.2. © HALUK POLAT 2001–2006, İZMİR, TÜRKİYE.3. © HALUK POLAT 2007, KARS, TÜRKİYE.
© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9
153