Amiga Dünyası sayı 15, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

Merhaba... Geçen ay OBJECT komutlarını tamamlamış ve örnekler vermiştik. Bu ay kaldığımız yerden devam edeceğiz.

OCT KOMUTU: Kullanım Şekli: Dizi=OCT$(X)

Bu fonksiyon, bir ondalık sayının sekiz tabanındaki karşılığını verir. Çevirme işleminden önce, ondalık sayı tamsayı yapılır.

X, sekizlik tabana çevrilecek ondalık sayıdır.

INPUT "SAYIYI GİRİN ";A PRINT "SEKİZLİK KARŞILIĞI ";OCT$(A)

şeklinde verilen bir örnek programda girilen ondalık sayı A değişkeni içerisine yerleştirilecek ve sekiz tabanına göre çevrim işlemi yapılacaktır. A, 16 olarak girilirse sonuç 20, 60037 olarak girilirse &0165205 olur.

ON BREAK KOMUTU: Kullanım Şekli: ON BREAK GOSUB etiket ON BREAK GOSUB 0

AmigaBasic'e CTRL-C tuşları ile ya da Run menüden Stop seçilerek program durdurulduğunda, hangi rutine dallanacağı belirtilir, etiket, program içindeki alfanümerik bir etiket ya da satır numarası olabilir, etiket yerine 0 verilirse, yani ikinci format kullanılırsa, program durdurma işlevi kapanır ve yeni bir ON BREAK GOSUB komutu ile aktif hale getirilene kadar kullanılmaz. Önemli nokta, bu event trapping'in (kesintilerin) BREAK ON komutu çalıştırılmadan aktif hale gelmeyeceğidir.

Bu komutla programın atlayacağı altrutin, kullanıcıya programın kırılamayacağını ve programı nasıl durdurabileceğini belirtmelidir. "Gerçekten çıkmak istiyor musunuz?" diye soran ve EVET/HAYIR kutucuklarını içeren bir pencere hoş olmaz mı?

Altrutin, RETURN komutu ile bitmelidir.

ON COLLISION KOMUTU: Kullanım Şekli: ON COLLISION GOSUB etiket ON COLLISION GOSUB 0

Birden fazla obje olduğunda ve objelerin birbiriyle veya ekran çerçeveleri ile çarpıştığında programın hangi etikete dallanacağı tanımlanır. Bu işlem için COLLISION ON komutu ile collision trapping'in açık olması gerekir, etiket, alfanümerik bir satır etiketi ya da satır numarası olabilir, etiket, 0 verilirse collision trapping çalışmaz. Yeni bir ON COLLISION GOSUB komutu ile bir hedef belirtilinceye kadar bu durumda kalır.

ON ERROR GOTO KOMUTU: Kullanım Şekli: ON ERROR GOTO satır

Bir hata oluştuğunda program kontrolünü bir hata yakalama rutinine gönderir. Komutun çalışabilmesi için ERROR ON komutunun çalışmış olması gerekir, satır alfanümerik bir satır etiketi olabileceği gibi, satır numarası da olabilir; 0 verildiğinde, error handling işlemini kapatır.

10 ON ERROR GOSUB 150 150 IF (ERR=230) AND (ERL=90) THEN PRINT "Yeniden Dene":RESUME 80

Örnekteki RESUME yönergesi hata mesajı verildikten sonra 80. satırdan devam etmesini sağlar.

ON.......GOSUB ON.......GOTO KOMUTLARI: Kullanım Şekli: ON x GOSUB etiket [,etiket][,etiket] ON x GOTO etiket [,etiket][,etiket] x değerine bağlı olarak etiket listesinde belirtilen satır numarası ya da alfanümerik satır etiketlerine dallanma komutlarıdır. x, bir ifadenin sonucu olabilir. Eğer x, bir satır numarasına ya da satır etiketine karşılık geliyorsa, program o satıra dallanır. Sonuç 0 veya etiket listesindeki değerlerin sayısından büyük olursa, program çalışmasına bir sonraki satırdan devam eder. Değer 1 ise ilk etikete, 2 ise ikinciye dallanır, x, virgüllü bir rakamsa değer yuvarlanır. x, negatif bir sayı olarak verilirse,

AMIGA BASIC

"ILLEGAL FUNCTION CALL" hata mesajı verilir. Program GOSUB ile dallandığı program bölümünden RETURN ile komutun bir alt satırına geri döner.

Komutun her iki formatı da aynı amaçla kullanılır. GOTO kullanılan formatta, dallanılan yerde RETURN bulunmaz ve çalışma oradan devam eder.

BASLA: INPUT "Seçiminiz (1-4)? ",X% IF X%<1 OR X%>3 THEN GOTO BASLA:

ON X% GOSUB ALT1 ,ALT2,ALT3,ALT4

END ALTİ:

PRINT "1. rutin" RETURN ALT2: PRINT "2. rutin" RETURN ALT3: PRINT "3. rutin" RETURN ALT4: PRINT "4. rutin" RETURN

ON MENU KOMUTU: Kullanım Şekli: ON MENU GOSUB etiket ON MENU GOSUB 0

Bu komut, AmigaBasic'e kullanıcı pulldown menüden bir seçim yaptığında nereye dallanacağını belirtir. Bu dallanmanın yapılabilmesi için, bu event trapping'in MENU ON yönergesiyle aktif hale getirilmiş olması gerekir, etiket, bir etiket ya da satır numarası olabilir. 0 verilirse, pulldown menüler kapanacaktır. Menüleri tekrar açmak için, MENU ON komutunu kullanmanız gerekir. Program, ON MENU komutuyla dallandığı altrutinden RETURN ile geri dönmelidir.

ON MOUSE KOMUTU: Kullanım Şekli: ON MOUSE GOSUB etiket ON MOUSE GOSUB 0

Sol mouse düğmesine basıldığında, programın dallanacağı rutini bildirir. İşlevin yapılabilmesi için ilgili event trapping'in açık olması gerekir, etiket, yine alfanümerik bir satır etiketi ya da satır numarası olarak verilir. 0, mouse dallanmalarını MOUSE ON yönergesi yeniden çalıştırılana kadar kapatır. Komutla dallanılan altrutin RETURN ile sonlanmalıdır.

ON TIMER KOMUTU: Kullanım Şekli: ON TIMER (x) GOSUB etiket ON TIMER GOSUB 0

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