153
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 · Rexx/Curses Kütüphanesi Sayın Mark HESSLING Bey’e… Haluk POLAT ISBN ve EAN Belirtimi 978 – 975 – 00742 – 1 – 9

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rexx/Curses Kütüphanesi · 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

Sayın Mark HESSLING Bey’e…

Haluk POLAT

ISBN ve EAN Belirtimi

978 – 975 – 00742 – 1 – 9

Page 2: Rexx/Curses Kütüphanesi · 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

Page 3: Rexx/Curses Kütüphanesi · 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

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

Page 4: Rexx/Curses Kütüphanesi · 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

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

Page 5: Rexx/Curses Kütüphanesi · 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

Ö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

Page 6: Rexx/Curses Kütüphanesi · 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

“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

Page 7: Rexx/Curses Kütüphanesi · 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

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

Page 8: Rexx/Curses Kütüphanesi · 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

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

Page 9: Rexx/Curses Kütüphanesi · 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

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

Page 10: Rexx/Curses Kütüphanesi · 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

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

Page 11: Rexx/Curses Kütüphanesi · 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

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

Page 12: Rexx/Curses Kütüphanesi · 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

Ö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

Page 13: Rexx/Curses Kütüphanesi · 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

• 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

Page 14: Rexx/Curses Kütüphanesi · 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

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

Page 15: Rexx/Curses Kütüphanesi · 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

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

Page 16: Rexx/Curses Kütüphanesi · 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

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

Page 17: Rexx/Curses Kütüphanesi · 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

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

Page 18: Rexx/Curses Kütüphanesi · 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

• 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

Page 19: Rexx/Curses Kütüphanesi · 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

• KEY_DL

© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9

19

Page 20: Rexx/Curses Kütüphanesi · 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

• 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

Page 21: Rexx/Curses Kütüphanesi · 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

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

Page 22: Rexx/Curses Kütüphanesi · 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

• 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

Page 23: Rexx/Curses Kütüphanesi · 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

• CurDoupdate()

© HALUK POLAT 1997–2007ISBN & EAN: 978 – 975 – 00742 – 1 – 9

23

Page 24: Rexx/Curses Kütüphanesi · 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

• 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

Page 25: Rexx/Curses Kütüphanesi · 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

Ö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

Page 26: Rexx/Curses Kütüphanesi · 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

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

Page 27: Rexx/Curses Kütüphanesi · 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

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

Page 28: Rexx/Curses Kütüphanesi · 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

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

Page 29: Rexx/Curses Kütüphanesi · 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

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

Page 30: Rexx/Curses Kütüphanesi · 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

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

Page 31: Rexx/Curses Kütüphanesi · 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

Ö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

Page 32: Rexx/Curses Kütüphanesi · 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

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

Page 33: Rexx/Curses Kütüphanesi · 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

Ö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

Page 34: Rexx/Curses Kütüphanesi · 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

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

Page 35: Rexx/Curses Kütüphanesi · 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

Ö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

Page 36: Rexx/Curses Kütüphanesi · 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

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

Page 37: Rexx/Curses Kütüphanesi · 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

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

Page 38: Rexx/Curses Kütüphanesi · 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

Ö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

Page 39: Rexx/Curses Kütüphanesi · 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

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

Page 40: Rexx/Curses Kütüphanesi · 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

Ö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

Page 41: Rexx/Curses Kütüphanesi · 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

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

Page 42: Rexx/Curses Kütüphanesi · 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

Ö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

Page 43: Rexx/Curses Kütüphanesi · 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

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

Page 44: Rexx/Curses Kütüphanesi · 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

Ö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

Page 45: Rexx/Curses Kütüphanesi · 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

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

Page 46: Rexx/Curses Kütüphanesi · 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

Ö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

Page 47: Rexx/Curses Kütüphanesi · 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

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

Page 48: Rexx/Curses Kütüphanesi · 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

Ö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

Page 49: Rexx/Curses Kütüphanesi · 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

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

Page 50: Rexx/Curses Kütüphanesi · 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

Ö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

Page 51: Rexx/Curses Kütüphanesi · 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

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

Page 52: Rexx/Curses Kütüphanesi · 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

Ö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

Page 53: Rexx/Curses Kütüphanesi · 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

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

Page 54: Rexx/Curses Kütüphanesi · 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

Ö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

Page 55: Rexx/Curses Kütüphanesi · 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

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

Page 56: Rexx/Curses Kütüphanesi · 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

Ö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

Page 57: Rexx/Curses Kütüphanesi · 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

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

Page 58: Rexx/Curses Kütüphanesi · 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

Ö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

Page 59: Rexx/Curses Kütüphanesi · 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

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

Page 60: Rexx/Curses Kütüphanesi · 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

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

Page 61: Rexx/Curses Kütüphanesi · 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

İ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

Page 62: Rexx/Curses Kütüphanesi · 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

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

Page 63: Rexx/Curses Kütüphanesi · 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

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

Page 64: Rexx/Curses Kütüphanesi · 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

Ö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

Page 65: Rexx/Curses Kütüphanesi · 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

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

Page 66: Rexx/Curses Kütüphanesi · 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

Ö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

Page 67: Rexx/Curses Kütüphanesi · 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

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

Page 68: Rexx/Curses Kütüphanesi · 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

Ö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

Page 69: Rexx/Curses Kütüphanesi · 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

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

Page 70: Rexx/Curses Kütüphanesi · 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

Ö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

Page 71: Rexx/Curses Kütüphanesi · 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

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

Page 72: Rexx/Curses Kütüphanesi · 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

Ö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

Page 73: Rexx/Curses Kütüphanesi · 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

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

Page 74: Rexx/Curses Kütüphanesi · 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

Ö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

Page 75: Rexx/Curses Kütüphanesi · 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

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

Page 76: Rexx/Curses Kütüphanesi · 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

Ö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

Page 77: Rexx/Curses Kütüphanesi · 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

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

Page 78: Rexx/Curses Kütüphanesi · 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

Ö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

Page 79: Rexx/Curses Kütüphanesi · 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

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

Page 80: Rexx/Curses Kütüphanesi · 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

Ö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

Page 81: Rexx/Curses Kütüphanesi · 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

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

Page 82: Rexx/Curses Kütüphanesi · 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

Ö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

Page 83: Rexx/Curses Kütüphanesi · 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

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

Page 84: Rexx/Curses Kütüphanesi · 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

Ö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

Page 85: Rexx/Curses Kütüphanesi · 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

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

Page 86: Rexx/Curses Kütüphanesi · 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

Ö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

Page 87: Rexx/Curses Kütüphanesi · 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

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

Page 88: Rexx/Curses Kütüphanesi · 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

Ö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

Page 89: Rexx/Curses Kütüphanesi · 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

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

Page 90: Rexx/Curses Kütüphanesi · 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

Ö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

Page 91: Rexx/Curses Kütüphanesi · 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

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

Page 92: Rexx/Curses Kütüphanesi · 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

Ö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

Page 93: Rexx/Curses Kütüphanesi · 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

Ö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

Page 94: Rexx/Curses Kütüphanesi · 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

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

Page 95: Rexx/Curses Kütüphanesi · 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

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

Page 96: Rexx/Curses Kütüphanesi · 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

Ö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

Page 97: Rexx/Curses Kütüphanesi · 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

İ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

Page 98: Rexx/Curses Kütüphanesi · 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

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

Page 99: Rexx/Curses Kütüphanesi · 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

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

Page 100: Rexx/Curses Kütüphanesi · 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

Ö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

Page 101: Rexx/Curses Kütüphanesi · 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

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

Page 102: Rexx/Curses Kütüphanesi · 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

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

Page 103: Rexx/Curses Kütüphanesi · 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

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

Page 104: Rexx/Curses Kütüphanesi · 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

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

Page 105: Rexx/Curses Kütüphanesi · 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

Ö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

Page 106: Rexx/Curses Kütüphanesi · 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

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

Page 107: Rexx/Curses Kütüphanesi · 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

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

Page 108: Rexx/Curses Kütüphanesi · 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

Ö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

Page 109: Rexx/Curses Kütüphanesi · 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

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

Page 110: Rexx/Curses Kütüphanesi · 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

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

Page 111: Rexx/Curses Kütüphanesi · 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

Ö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

Page 112: Rexx/Curses Kütüphanesi · 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

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

Page 113: Rexx/Curses Kütüphanesi · 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

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

Page 114: Rexx/Curses Kütüphanesi · 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

Ö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

Page 115: Rexx/Curses Kütüphanesi · 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

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

Page 116: Rexx/Curses Kütüphanesi · 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

Ö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

Page 117: Rexx/Curses Kütüphanesi · 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

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

Page 118: Rexx/Curses Kütüphanesi · 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

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

Page 119: Rexx/Curses Kütüphanesi · 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

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

Page 120: Rexx/Curses Kütüphanesi · 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

Ö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

Page 121: Rexx/Curses Kütüphanesi · 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

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

Page 122: Rexx/Curses Kütüphanesi · 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

Ö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

Page 123: Rexx/Curses Kütüphanesi · 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

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

Page 124: Rexx/Curses Kütüphanesi · 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

Ö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

Page 125: Rexx/Curses Kütüphanesi · 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

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

Page 126: Rexx/Curses Kütüphanesi · 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

Ö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

Page 127: Rexx/Curses Kütüphanesi · 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

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

Page 128: Rexx/Curses Kütüphanesi · 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

Ö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

Page 129: Rexx/Curses Kütüphanesi · 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

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

Page 130: Rexx/Curses Kütüphanesi · 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

Ö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

Page 131: Rexx/Curses Kütüphanesi · 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

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

Page 132: Rexx/Curses Kütüphanesi · 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

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

Page 133: Rexx/Curses Kütüphanesi · 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

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

Page 134: Rexx/Curses Kütüphanesi · 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

İ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

Page 135: Rexx/Curses Kütüphanesi · 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

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

Page 136: Rexx/Curses Kütüphanesi · 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

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

Page 137: Rexx/Curses Kütüphanesi · 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

Ö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

Page 138: Rexx/Curses Kütüphanesi · 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

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

Page 139: Rexx/Curses Kütüphanesi · 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

Ö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

Page 140: Rexx/Curses Kütüphanesi · 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

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

Page 141: Rexx/Curses Kütüphanesi · 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

Ö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

Page 142: Rexx/Curses Kütüphanesi · 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

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

Page 143: Rexx/Curses Kütüphanesi · 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

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

Page 144: Rexx/Curses Kütüphanesi · 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

Ö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

Page 145: Rexx/Curses Kütüphanesi · 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

“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

Page 146: Rexx/Curses Kütüphanesi · 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

Ö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

Page 147: Rexx/Curses Kütüphanesi · 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

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

Page 148: Rexx/Curses Kütüphanesi · 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

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

Page 149: Rexx/Curses Kütüphanesi · 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

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

Page 150: Rexx/Curses Kütüphanesi · 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

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

Page 151: Rexx/Curses Kütüphanesi · 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

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

Page 152: Rexx/Curses Kütüphanesi · 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

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

Page 153: Rexx/Curses Kütüphanesi · 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

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

[email protected]

ş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