REXX Programlama Dili - Yerleşik İşlevler - STREAM

Dizilim

STREAM(isim, 'STATE')

STREAM(isim, 'COMMAND', buyruk)

STREAM(isim, 'DESCRIPTION')

İşlev

Bir akım (dosya) üzerinde değişik işlemlerin yapılmasını sağlamak.

Değiştirge(ler)

isim

Üzerinde işlem yapılacak akımı (dosyayı) tanımlayan dizgi ya da tam-yol bulunağı.

'STATE'

"isim" değiştirgesi ile belirtilen akımın o andaki durumu hakkında bilgi edinilmesini sağlar. Bu değiştirgenin kullanılması sonucu elde edilebilecek değerler ve anlamları

ERROR

Akım üzerinde hatalı bir işlem yapılmak isteniyor.

NOTREADY

İlgili akım, üzerinde herhangi bir girdi/çıktı işleminin yapılabilmesi için hazır değil.

READY

İlgili akım, üzerinde herhangi bir girdi/çıktı işleminin yapılabilmesi için hazır.

UNKNOWN

Üzerinde işlem yapılmak istenen akım üzerinde herhangi bir girdi/çıktı işleminin yapılabilmesi için gerekli bilgiye erişilemiyor.

şeklinde tanımlıdır.

'COMMAND'

"buyruk" değiştirgesi ile belirtilen değişik işlem buyruklarının yürütülmesini sağlar.

buyruk

İlgili akım üzerinde uygulanacak buyrukları içeren karakter katarı (dizgi). Kullanımı söz konusu olabilecek buyruklar ve bu buyrukların anlamları

OPEN

"isim" değiştirgesi ile belirtilen akımın açılmasını sağlar. Kendisi ile birlikte kullanılabilecek diğer alt buyruklar ve bu buyrukların anlamları

READ

"isim" değiştirgesi ile belirtilen akımın okuma amaçlı olarak açılmasını sağlar.

WRITE

"isim" değiştirgesi ile belirtilen akımın yazma amaçlı olarak açılmasını sağlar.

BOTH

"isim" değiştirgesi ile belirtilen akımın hem okuma hem de yazma amaçlı olarak açılmasını sağlar.

APPEND

"isim" değiştirgesi ile belirtilen akımın ekleme amaçlı olarak açılmasını sağlar. Yazma imleci dosyanın sonunda konumlanır.

REPLACE

"isim" değiştirgesi ile belirtilen akımın yerini alma amaçlı olarak yapılmasını sağlar. Yazma imleci dosyanın başında konumlandırılır ve ilgili akım budanır.

NOBUFFER

"isim" değiştirgesi ile belirtilen akımın ara bölge kullanılmadan açılmasını sağlar.

AUTOSYNC

"isim" değiştirgesi ile belirtilen akımın üzerinde yapılacak işlemlerin anuyumlu olarak yapılması koşuluyla ilgili akımın açılmasını sağlar.

SHAREREAD

"isim" değiştirgesi ile belirtilen akım üzerinde yapılacak okuma işlemlerinin paylaşımlı olarak yapılmasını sağlar.

NOSHARE

"isim" değiştirgesi ile belirtilen akım üzerindeki işlemlere paylaşım izninin verilmemesini sağlar.

DELAY

SHAREREAD ve DELAY alt buyrukları için yapılacak işlemlere gecikme payı bırakılmasını sağlar.

BINARY

"isim" değiştirgesi ile belirtilen akımın ikili kayıt biçimini esas alan bir akım olarak açılmasını sağlar.

RECLENGTH uzunluk

"isim" değiştirgesi ile belirtilen akım için geçerli olacak kayıt uzunluğunun "uzunluk" değiştirgesi ile belirtilen değer kadar olmasını sağlar.

şeklinde tanımlıdır.

CLOSE

"isim" değiştirgesi ile belirtilen akımın kapatılmasını sağlar.

FLUSH

"isim" değiştirgesi ile belirtilen akıma yazılmak üzere ara bellek bölgesinde bekletilen verilerin serbest bırakılmasını sağlar.

SEEK bulunak

"isim" değiştirgesi ile belirtilen akım üzerinde "bulunak" değiştirgesi ile belirtilen kayıt konumundan itibaren karaktersel ve satırsal bazda okuma ve yazma işlemi için konum araştırması yapılmasını sağlar.

"bulunak" değiştirgesinden sonra belirtilebilecek işleçler ve anlamları

Eşit ( = )

Akımın başını dikkate alarak "bulunak" değiştirgesi ile belirtilen kayıt konumuna odaklanılmasını sağlar.

Küçük ( < )

Akımın sonunu dikkate alarak "bulunak" değiştirgesi ile belirtilen kayıt konumuna odaklanılmasını sağlar.

Artı ( + )

O andaki okuma/yazma konumundan ileriye gidilmesini sağlar.

Eksi ( - )

O andaki okuma/yazma konumundan geriye gidilmesini sağlar.

şeklinde tanımlıdır.

Bu işleçleri sonrasında belirtilebilecek ardıl alt buyruklar ve bu buyrukların anlamları da

READ

SEEK buyruğunun okuma amaçlı olarak kullanılmasını sağlar.

WRITE

SEEK buyruğunun yazma amaçlı olarak kullanılmasını sağlar.

CHAR

SEEK buyruğu ile araştırma yapılacak okuma/yazma konum belirleme işleminin karaktersel bazda yapılmasını sağlar.

LINE

SEEK buyruğu ile araştırma yapılacak okuma/yazma konum belirleme işleminin satırsal bazda yapılmasını sağlar.

şeklinde tanımlıdır.

POSITION

SEEK alt buyruğa ile aynı işleve sahiptir. Yani, "SEEK" dizgisi yerine "POSITON" dizgisi kullanılabilir.

QUERY

Bu alt buyruğa ait değişik dizilimler ve bu dizilimlerin anlamları

QUERY EXISTS

"isim" değiştirgesi ile akımın mevcut olup olmadığının öğrenilmesini sağlar. Eğer "isim" değiştirgesi ile belirtilen akım varsa ilgili akımın tam-yol bulunağı elde edilir. Eğer yoksa boş dizgi (null) elde edilir.

QUERY SIZE

"isim" değiştirgesi ile belirtilen akımın bir dosya olması halinde, boyutunun elde edilmesini sağlar.

QUERY DATETIME

"isim" değiştirgesi ile belirtilen akıma ait zaman (tarih ve saat) bilgisinin ABD zaman sunu biçiminde elde edilmesini sağlar.

QUERY TIMESTAMP

"isim" değiştirgesi ile belirtilen akıma ait zaman bilgisinin elde edilmesini sağlar.

QUERY POSITION [READ|WRITE] [CHAR|LINE]

"isim" değiştirgesi ile belirtilen akıma ait okuma/yazma işlemi konumunun karaktersel/satırsal bazda elde edilmesini sağlar.

QUERY STREAMTYPE

"isim" değiştirgesi ile belirtilen akımın tipinin elde edilmesini sağlar. Elde edilmesi olası değerler ve bu değerlere ait anlamlar

PERSISTENT

"isim" değiştirgesi ile belirtilen akım, süreklilik arz eden bir akım.

TRANSIENT

"isim" değiştirgesi ile belirtilen akım, geçicilik arz eden bir akım.

şeklinde tanımlıdır.

şeklinde tanımlıdır.

şeklinde tanımlıdır.

'DESCRIPTION'

"isim" değiştirgesi ile belirtilen akımın o andaki durumu hakkında daha ayrıntılı bilginin elde edilmesini sağlar.

Örnek Kullanım

Burada yer verilen her bir örnek, STREAM yerleşik işlevine ait farklı kullanımlar için ayrı ayrı oluşturulmuştur.

Örnek - 1

"deney.dat" ismindeki dosyanın tipini öğrenmek amacıyla

Say STREAM('deney.dat', 'Command', 'Query Streamtype')

diziliminin kullanılması yeterlidir.

Örnek - 2

"deney.dat" dosyasının satırsal bazdaki okuma konumunu, o anda bulunulan konumdan itibaren 2 kayıt ileriye götürmek amacıyla

RC = STREAM('deney.dat', 'Command', 'Seek +2 Write Line')

dizilimini kullanmak yeterlidir.

Örnek - 3

"deney.dat" dosyasının karaktersel bazdaki okuma konumunu öğrenmek amacıyla

Say STREAM('deney.dat', 'Command',,

           'Query Position Write Char')

dizilimini kullanmak yeterlidir.

Örnek - 4

"deney.dat" dosyasını hem okuma hem de yazma amaçlı olarak ikili-kayıt biçiminde açmak ve bu işlemi yaparken de kayıt uzunluğunu 32 bayt olarak belirlemek amacıyla

RC = STREAM('deney.dat', 'Command',,

            'Open Both Binary Reclength 32')

dizilimini kullanmak yeterlidir.

Açıklama(lar)

STREAM() yerleşik işlevinin yorumlanması ve değiştirgelerinin anlamları, bazı REXX yorumlayıcılarında farklılık göstermektedir. Bundan dolayı, kullanımı tercih edilen REXX yorumlayıcısının başvuru kaynaklarındaki bilgilerin dikkatlice incelenmesi ve irdelenmesi önerilir.

''STATE", "COMMAND" ve "DESCRIPTION" değerlerinin tamamı yerine sadece baş harfleri de kullanılabilir. Eğer tamamı kullanılacaksa, söz dizim okunabilirliğini sağlamak için ilk harfleri büyük ve diğer harfleri küçük olarak belirtilmelidir.

"COMMAND" buyruğuna ait alt buyrukların belirtiminde, söz dizim okunabilirliğini sağlamak için ilk harfler büyük ve diğer harfler küçük olarak belirtilmelidir.


İçindekiler Sayfası İçindekiler Sayfası