Amiga Dünyası sayı 9, sayfa 30

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 30

Merhaba... Bir aylık aradan sonra yine birlikteyiz. Geçen ay son olarak Erase komutunu incelemiştik. Bu ay ERR ve ERL komutlarından itibaren devam edeceğiz.

ERR ERL KOMUTLARI:

Kullanım Şekli: ERR ERL

Bu iki sistem değişkeni, programdan çıkmadan hata analizi yapmak için kullanılır. Programda daha önceden ON ERROR komutuyla bir hata yakalama ve düzeltme rutini işleme konmuşsa, ERR hatanın kod numarasını, ERL de hatanın meydana geldiği satırı belirtir. ERL, numarasız satırlar için o satırdan önce gelen ilk numaralı satırı gösterir. ERL, etiketleri tanımaz. Bu iki fonksiyon genellikle bir IF ... THEN döngüsü içinde kullanılır.

AmigaBasic derleyicisinde, hata bir doğrudan mod yönergesinde oluşmuşsa, ERL komutu 65535 değerini alacaktır.

Aşağıdaki örnek, hata durumunda program akışını bir alt rutine dallandırıyor ve 55 kod numaralı hata oluşmuşsa ya da hata satırı 90. satır ise 1 numaralı dosyayı kapatıp programın çalışmasına devam etmesini sağlar.

ON ERROR GOTO Hata

Hata: IF (ERR=55) AND (ERL=90) THEN CLOSE#l:RESUME

ERROR KOMUTU:

Kullanım Şekli: ERROR hata-numarası

Bu komutla, program hatalarını yakalayabileceğiniz gibi kendiniz de değişik hatalar için yeni hata numaraları yaratabilirsiniz.

Bunun için 256'dan yüksek bir sayı alıp, bunu program içinde ERROR komutuyla birlikte kullanmak gerekir. ON ERROR, bu özel hatayla karşılaştığında, sizi bu hata için tanımladığınız hata yakalama rutinine dallandıracaktır. Doğrudan modda Amiga BASIC 256'dan büyük hata numaraları için "unprintable error" mesajını verir. 0-256 arasındaki hata mesajlarını Amiga BASIC kullanım kılavuzunun sonundaki ekler bölümünde bulabilirsiniz.

Çıktı penceresinde, doğrudan komut modunda bir hata kodunun karşılığını öğrenebilirsiniz. Bunun için kullanılacak komut şöyledir:

ERROR 15

Bu komutu yazıp Return tuşuna bastığınızda, hemen altında kodun karşılığı verilecektir:

String too long

EXP KOMUTU:

Kullanım Şekli: EXP(X)

Doğal logaritma tabanı olan e'nin (2.7182818284590), X kuvvetini hesaplar. X sayısı, tek veya çift yoğunluklu bir sayı olabilir. Eğer tek yoğunluklu sayı 88'den veya çift yoğunluklu sayı 709'dan büyükse, "overflow" hata mesajı verilir ve bilgisayarda temsil edilen en büyük sayı olan 3.402824E+38 sonuç olarak gösterilir. Aşağıdaki örnek, bir döngü içerisinde e'nin 10, 20 ve 30 kuvvetini hesaplar:

FORI=10TO30STEP10 PRINT EXP(I) NEXTI

Ve sonuçları çıktı penceresine yazar:

2.718282 403.4288 59874.14

FIELD KOMUTU:

Kullanım Şekli: FIELD [#] dosya-no, alan-genişliği AS dizi-değişkeni ....

Rastgele erişimli dosya buffer'ında, program değişkenleri için alanlar ayırır.

Bu alanın ne kadar büyük olacağını, parametre değişkenleriyle tanımlayabilirsiniz.

AMIGA BASIC

MAHMURE ÜNYELİ niz. Genellikle bu komut OPEN komutunun arkasından kullanılır, dosya-no parametre değişkeni, OPEN komutunda rastgele erişimli dosyayı açmak için kullanılan sayıyı belirtir, alan genişliği, yazısal dizi değişkenleri için ayrılacak karakter sayısı ile tespit edilir. Bu değer, herhangi bir tamsayı olabilir; ancak parametre değişkenlerinin toplam uzunluğu, OPEN komutu ile dosya yaratılırken belirtilen kayıt uzunluğunu aşmamalıdır. Tanımlı kayıt uzunluğu, 128 byte'dır. Aksi taktirde "FIELD OVERFLOW" hata mesajı alırsınız.

Aynı dosyada birden fazla FIELD yönergesi kullanılabilir. Program, tüm FIELD yönergelerini dikkate alır ve aynı anda geçerli olarak kabul eder.

FIELD komutunda kullanılan parametre değişkenleri, program değişkenleriyle LSET komutu kullanılarak eşitlenmelidir. Aşağıdaki programda, rastgele erişimli bir dosya açma işlemi ve FIELD komutunun işlevi gösterilmiştir.

ÖPEN "R",#l /TELEFONNO.DATA", 100 FIELD # 1,40 AS AD$,40 AS ADR$,20 AS TN$

INPUT "ISIM";ISIM$ INPUT "ADRES";ADRES$ INPUT "TELEFON NO: ";TELNO$ LSETAD$=ISIM$ LSETADR$=ADRES$ LSETTN$=TELNO$

PUT #1,1 CLOSE1

OPEN komutunun sonundaki 100 sayısı, kayıt için ayrılan buffer (tampon) büyüklüğünü göstermektedir. FIELD komutundaki üç ayrı parametre değişkeni için ayrılan alanın toplamı, (40+40+20) 100'e eşit olmak veya aşmamak zorundadır. Ayrıca LSET komutuyla bu parametre değişkenlerini program değişkenlerine eşitlediğimizi görüyorsunuz.

FILES KOMUTU:

Kullanım Şekli: FILES [directory]

O anki directory içeriğini ekranda gösterir, directory parametresi olarak herhangi bir directory veya sürücü adını yazabilirsiniz. Sürücü adı veriliyorsa, isimden sonra iki nokta üst üste (:) koymayı unutmayın. Ayrıca CHDIR komutuyla herhangi bir directory içine girip, doğrudan FILES komutunu verebilirsiniz.

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