değişken ile sadece istediğimiz karak- terlere sahip ve en fazla belirlenen uzunlukta okuma yapabilir, böylece kullanıcının programımıza yanlış ve- ri 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ışın- da kalan karakterler kullanılabilir hale gelir. CRSR-sağa tuşu ile de, sadece harfler ve SHIFT 4 harfler geçerli olur. Örneğin sadece harflerin ve 1 ra- kamının kullanılmasım istiyorsak, 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 kulla- nabilirsiniz, CRSR tuşları işe yara- maz. Belirtilen uzunluğun son karak- terini de verdikten sonra, DEL tuşu da işe yaramaz; size sadece RE- TURN”e basmak düşer. Siz en iyisi bir yazıp, ondan sonra 3 saniye bekleme- ye geçecektir. Yalnız dikkat edin, PA- USE ile mesaj arasında bir boşluk ol- malı. Ekran Hareketliliği Ekranda iki tür hareketlilikten bah- sediyoruz. Biri ekranın bir bölümü- nün başka bir yere taşınması, diğeri de belirlenen bölümün kendi içinde hareket etmesi. MOVE satır1,satır2,x,y,satır2,ko- lon2, ile, ilk belirlenen dikdörtgen alan, sol üst köşesi satır2,kolon2 ola- cak şekilde kopyalanır. Gene her iki bölümün de ekrana sığması gerektiği malum... Diğer türdeki hareketliliği sağlayan komutlar birbirine çok benziyor. Bu nedenle birini açıklayıp, diğerlerini ona göre anlatacağız. DOWNWv satır,kolon,x,y ile belir- lenen alan içinde kalan ekran kısmı, bir satır aşağı kaydırılır. Ancak dik- dörtgenin veri değişmez ve dikdörtge- nin son satırında bulunan yazı en üst de örnek programımızı inceleyin. INKEY değişkeni, devamlı olarak klavyeyi okur ve o anda basılı olan fonksiyon tuşunun numarasını taşır. Bu 1-16 arası bir sayıdır. Eğer o anda bir fonksiyon tuşu basılı değilse, içe- riğ_i sıfır olur. Bir başka komut, DATA'ların okunması ile ilgili. RESTORE komu- tu, DATA'ları baştan okumaya yarar. Ancak aradaki satırlardak birinde başlayan bir DATA'yı tekrar okumak çok zordur. Fakat şimdi, RESET sa- tır no ile istediğiniz satırdan DATA”- ları okumaya başlayabiliriz. Bir ufak komut da, programın belli bir süre beklemesiyle ilgili. PAUSE 10 dediğinizde bilgisayar 10 saniye bek- leyecektir. Eğer PAUSE “'merha- ba!!”,3 derseniz de, ekrana merhaba satırında ortaya çıkar. Yani bu komu- tu bir FOR..NEXT döngüsü içinde kullanırsanız, belirlenen dikdörtgen- de yukarıdan aşağı doğru bir rotasyon elde edersiniz. DOWN'W yerine DOWNB kullan- dığınızda, aşağıdan kaybolan satır yu- karıdan ortaya çıkmayacak, üst satır boşalacak ve böylece bu komut tek- rarlandığında o bölge bir süre sonra boş kalacaktır. Yukarıdaki işlem sağa, sola ve yu- karı doğru da yapılabilir. Bunun için UPB veya UPW (yukarı), LEFTB ve- ya LEFTW (sola), RIGHTB veya RIGHTW (sağa) kullanılır. Karakter Dizileri Gelelim yabancıların string dedik- leri karakter dizilerine. Eskiden beri eksikliğini çektiğiniz emirlerin bir kis- mını SIMONS' BASIC'de bulabile- ceksiniz. Örneğin DUPCXstring,tekrar) ile, ön- ceden belirlenmiş string'i *tekrar” ka- dar kendine eklemiş olursunuz. Örne- ğin A$DUP(“A”,5) ile AŞ-“AAAAA” olur. Yalnız dikkat edin, tekrar*LEN (string) yani sonucun uzunluğu en faz- la 255 olmalı. A$ —- INSERTEstringl,string2,po- zisyon)ile, 'string2'nin içine stringl'i verilen yerden itibaren ekler. Örneğin A$—INSERT(“XXXX”,“RIZA”,3) ile A$- “RIZXXXXA” elde edilir. *pozisyon'un diğeri LEN(string2)'den küçük olmalıdır. Sıfır olabilir. Bu du- rumda stringl, string2'nin başına ek- enir. A$ —- INST(stringl,string2,pozis- yon) da deminki işi yapar, ancak bu arada string2'nin stringl tarafından kaplanan kısmı ortadan kalkar. Ör- neğin A$ - INST(“XX”,“RIZA”,1) ile A$ - “RXXA” ortaya çıkar. *po- zisyon' için 0-LEN(string2) arası de- Berler geçerlidir. Son durumda stringl, string2'nin sonuna eklenir. Ekran Komutları Ekran komutları başlığı altında, ek- randaki renkleri ve karakterleri etki- leyen değişik komutları inceleyeceğiz. Örneğin COLOUR renk1,renk2 ile ekran ve çerçeve rengi belirlenebil- mekte. “renkl' ile çerçeve Trengi, 'renk?” ile de ekran rengi verilmekte. Her biri 0-15 arasında olmalı. Daha önceden bu işlem POK 53280,renk1: POKE 53281,renk2 ile yapılıyordu. Ekran çerçevesinin iki renk arasın- da belli bir hızla gidip gelmesini ve bu işin programdan bağımsız olarak yü- rümesini BFLASH hız,renkl1,renk2 sağlıyor. İşlem BEFLASH 0 ile durdu- rulmakta. Karakterlerin yanıp sönmesini de FLASH renk,hız sağlar. Ekrandaki belirtilen renge sahip tüm karakterler verilen hıza göre yanıp sönmeye baş- lar. Bu işlemi de OFF komutu sona erdirir. Son iki komuttaki “hız' parametresi 1-255 arasında olmalıdır ve 1 en hızlı yanıp sönmeyi sağlar. Bir de ekranda dikdörtgen biçimin- deki alanları etkileyen komutlar var. Örneğin INV satır,kolon,x,y komutu ile, sol üst köşesi verilen satır ve ko- londa olan, “x' kadar genişliğe ve “y' kadar da yüksekliğe sahip dikdörtgen A TEZEEEEEE N _commodore A 44