Amiga Dünyası sayı 18, sayfa 31

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 31

Merhaba... Geçen ay son olarak RETURN komutunu incelemiştik. Bu ay, RIGHT$ fonksiyonundan başlayarak devam ediyoruz.

RIGHT$ KOMUTU: Kullanım Şekli: RIGHT$(Yazı-dizisi,karakter-sayısı)

Yazı-dizisi'nin en sağından, belirtilen karakter-sayısı kadar karakteri alır. karakter-sayısı, 0'dan 32767'ye kadar bir sayı olarak girilir.

RIGHT$("En büyük AMIGA!",6) örneği, "AMIGA!" kısmını keser ve istenirse bir yazısal dizi değişkeni içerisine yerleştirir ya da verilen komuta uygun olarak basar, karakter-sayısı, yazı-dizisinin karakter sayısına eşit ya da ondan büyükse karakterlerin tamamını alır.

RND KOMUTU: Kullanım Şekli: Değer=RND[(x)]

Bu fonksiyon, 0 ile 1 sayıları arasında rasgele bir sayı üretir. RANDOMIZE yönergesi kullanılmadıkça, RND fonksiyonu programın her çalıştırılışında aynı sırada rasgele sayı dizisini üretir.

Parantez içine x sayısını girerek, rasgele sayı üretimini kontrol edebilirsiniz: 1 ve tüm pozitif sayılar, bir dizi değer üretirler. 0, son üretilen sayıyı verir. -1 ve negatif sayılar, bir başlangıç değeri seçerek sayı üretirler. Sayı değiştirilerek değer değiştirilir. Aynı sayı girilirse, aynı sayı üretilir.

Zaman zaman belli sınırlar arasında bir rasgele sayı üretilmesi gerekebilir. Böyle durumlarda formül kullanmalısınız: Değer=Başlangıç+(Son-Başlangıç)*RND

Sayının tam sayı olması gerektiği durumlarda ise: Değer=INT (Başlangıç + ((Son-Başlangıç

+ 1) *RND))

Aşağıdaki örneği çalıştırın, isterseniz değerleri değiştirin:

FORi=lTO5

y=RND:PRINT y; NEXTİ PRINT FORİ=1TO5

y=RND(0):PRINT y: NEXTi PRINT FOR i=l TO 5

z=RND(l):PRINTz; NEXTİ PRINT FOR i=l TO 5

e=RND(-l):PRINTe; NEXTi

RSET KOMUTU: Kullanım Şekli: RSET Transfer dizisi değişkeni=Yazısal dizi

Rasgele dosyalarla çalışırken PUT yönergesi ile kullanılmak üzere, kayıt buffer'ına data yazmak için kullanılır. Hatırlarsanız, RSET ve LSET komutlarını, hem dosya komutlarında hem de PUT komutunda incelemiştik. Transfer dizi değişkeni, FIELD komutunda tanımlanan değişkendir ve içine yazısal dizi atanır. Böylece yazısal dizi buffer'a transfer edilmiş olur. Komuttaki "R", datanın sağa yapışık (Right-justified) olarak yerleştirileceğini belirtir. Bunun anlamı, ayrılan alana bu alanın uzunluğundan daha kısa bir karakter dizini atandığında bilginin data alanına sağa yapışık olarak yerleştirileceğidir. Boşluklar, alanın başlangıcında solda kalacak ve yazının sonu alanın sonuna yerleşecektir. Sayısal değerlerin standart formatında düzgün yazdırılması açısından çok kullanışlıdır.

Kayıt buffer'ı, FIELD komutu ile oluşturulur. Kayıt buffer'ındaki datanın diskete kaydedilmesi ise PUT komutu ile gerçekleştirilir.

F$=SPACE$(20) RSET F$="AMIGA" WRITE F$

Örneğini çalıştırırsanız, alana bilginin hangi mantıkla yerleştirildiğini daha kolay anlayacaksınız.

RUN KOMUTU: Kullanım Şekli: RUN [etiket] RUN dosya-adı[,R]

O an aktif olan BASIC programı çalıştırır.

Ekran temizlenir, LIST penceresi arka plana atılır ve açık olan tüm dosyalar kapatılır. Komut çıktı penceresinden direkt komut olarak verilebileceği gibi, program içinde de kullanılabilir. Komuttan sonra satır numarası ya da etiket verilirse, program belirtilen bu etiketten itibaren çalışmaya başlar.

Komutun ikinci kullanım şeklinde dosya-adı ile verilen kayıtlı dosya yüklenir ve çalıştırılır. Bu kullanıma ",R" opsiyonu eklenirse, açık bulunan dosyalar kapatılmaz, açık bırakılır. Bu da tüm bu açık dosyaları kullanabilen bir program yüklemenize izin verir.

SADD KOMUTU: Kullanım Şekli: Değer=SADD(Yazısal dizi)

Özellikle makina dili programlar için çok yararlı olan bu fonksiyon, Yazısal dizinin bellekteki başlangıç adresini verir. Bu, datanın ilk byte'ının adresidir. Programda yeni bir karakter dizisi kullanacaksanız, başlangıç adresini tekrar sormanız gerekecek, çünkü AmigaBASIC mevcut dizileri kaydıracaktır. SADD, tipik olarak bir makina dili programa yazısal dizinin adresini geçirmek için kullanılır. Aşağıdaki örnek kullanımı incelerseniz, fonksiyonun kullanımını daha rahat anlayacaksınız:

Ma$="" FOR x=0 TO 20 READ Değer Ma$=Ma$(Deger) NEXTx StartAddress&=SADD(Ma$) CALL Start Address&( 10,20) DATA.......

SAVE KOMUTU: Kullanım Şekli: SAVE [dosya-adı[,A]] SAVE [dosya-adı[,P]] SAVE [dosya-adı[,B]]

Bu komutla, programlarınızı diskete, harddiske ya da RAM'e kaydedebilirsiniz. dosya-adı girilmezse, AmigaBASIC tıpkı menüden seçilmiş gibi, dosyanın kaydedileceği ismi soran bir diyalog penceresi görüntüleyecektir.

Komutun ilk kullanım şeklindeki gibi dosya adından sonra ",A" verilirse, dosya ASCII formatında kaydedilir. Bu formata, MERGE kullanarak programlarınızı birleştirmek ya da bir text editörde AmigaBASIC programları düzenlemek isterseniz ihtiyacınız olacak.

İkinci kullanım şeklindeki gibi dosya

AMIGA BASIC

Klavyeyle gezinmek için ← ve → tuşları.