Commodore sayı 9, sayfa 40

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 40

Tuna ERTEMALP

İşte dört aylık mutlu beraberliğimizin sonuna geldik. Artık SIMONS' BASIC'in son sırlarını da öğreneceksiniz. Önce programlara veri getirilen yeniliklere bir bakacağız. Derken sıra ekranı şenlendirmeye, hatta hareket ettirmeye gelecek. Yazı dizilerini değiştiren bazı yeni komutlar olduğunu göreceğiz. Karşımıza ikide birde çıkan ERROR mesajlarına nasıl dur diyeceğimizi öğreneceğiz. Ve son olarak da COMMODORE 64 ile çevre birimleri arasındaki bilgi alışverişinin SIMONS' BASIC'de nasıl olduğunu inceleyeceğiz.

Veri Giriş Çıkışı

Çözünüz bugüne kadar, ekranda istenilen bir noktaya yazı yazmak için bir emir olmadığından yakınmışsınızdır. Artık var. PRINT AT(kolon,satır)... ile istediğiniz satır ve kolona yazınızı getirebilirsiniz. Hatta şöyle bile yapabilirsiniz:

10 A$- AT(3,6) 4 “COMMODORE” 20 PRİNT A$

Ancak bu son numarayı sadece program içinde çekebilirsiniz. Peki, bir yazıyı o anda ekranda yazılı olan satırın, örneğin üç satır altına yazdırmak isterseniz ne olacak? Bunun için de LIN değişkeni var. Bu değişken daima o anda cursor'un bulunduğu satırın numarasını taşır. Böylece deminki problemi, PRINT AT (kolon, LIN+3) ile halledebiliriz. Bir diğer komut da, yazımızı ekran satırında tam ortaya yazabilmemizi sağlar. CENTRE olan bu komut, tıpkı PRINT gibi kullanılır. Ancak arkasından gelenleri, yazının yazılacağı satır içinde ortalar. Bir ufak kusuru var. Yazma işlemi bittikten sonra alt satıra geçmiyor, sanki sonunda noktalı virgül olan PRINT gibi davranıyor. Bu nedenle eğer alt satıra geçmek isteniyorsa, bir CENTRE komutunun bitiminde, bir de PRINT yapmak gerekir.

Gelelim sayıların yazımına. Duymuşsunuzdur, bazı bilgisayarlarda PRINT USING gibi komutlar vardır ve basılacak sayıların görünüşlerini etkilerler. SIMONS' BASIC de bu işe

USE komutu ile bir çözüm getirmiş. USE görünüş, sayı ile işimizi hallediyoruz. Ancak “sayı” parametresinin yerinde STR$(sayı) olmalı. Özelliklerine gelince. Bu da bir karakter dizisi. # işareti bir sayıyı simgeliyor. “.” işareti ile ondalık noktayı belirtiyoruz. Bunun dışında yeralan her karakter aynen basılıyor. Örneğin USE “### TL”,STR$(100.567) sonucunda “100.57 TL” elde edilir. Gördüğünüz gibi, sayının kesilen kısmı bir önceki haneye yuvarlanarak geçiriliyor. USE da tıpkı CENTRE gibi bir alt satıra inmez, olduğu yerde kalır.

Verileri bastırırken nasıl kontrol edebiliyorsak, okurken de edebilmeliyiz. FETCH işte bu işi yapıyor. FETCH “kontrol dizisi”, uzunluk, değişken ile sadece istediğimiz karakterlere sahip ve en fazla belirlenen uzunlukta okuma yapabilir, böylece kullanıcının programımıza yanlış veri vermesini önlemiş oluruz. Ekrandan karakterler okunur. Bunlardan üçü özel karakterlerdir. Eğer HOME tuşuna basmışsanız, bu sadece harfler geçerlidir anlamına gelir. CRSR-aşağı tuşu ile, tüm sayılar ve harfler dışında kalan karakterler kullanılabilir hale gelir. CRSR-sağa tuşu ile de, sadece harfler ve SHIFT+harfler geçerli olur. Örneğin sadece harflerin ve 1 rakamının kullanılmasını istiyorsak, “kontrol dizisi” içinde HOME tuşu ve 1 rakamı bulunmalıdır. FETCH de bir öncekiler gibi alt satıra inmez. Ayrıca veri beklenirken soru işareti çıkmaz ve cursor yanıp sönmez. Yazdığınızı silmek için sadece DEL tuşunu kullanabilirsiniz, CRSR tuşları işe yaramaz. Belirtilen uzunluğun son karakterini de verdikten sonra, DEL tuşu da işe yaramaz; size sadece RETURN'e basmak düşer. Siz en iyisi bir PAUSE yazıp, ondan sonra 3 saniye beklemeye geçecektir. Yalnız dikkat edin, PAUSE ile mesaj arasında bir boşluk olmalı.

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