VALÇAS) komutu yardımı ile sayısal değeri elde ede- ceğiz. Kullanıcının verisi: 123R56 Bunu değerlendiren program komutu: A— VAL(AŞ) Komutun işlenmesinden sonra A değişkeninin de- ğeri 123 olur. Bu değer bizim elde etmek istediğimiz sonuç olmadığı için programımız hatalı olarak çalış- tı demektir. Eğer programı kendi kullanımınız için yazdınızsa bu tür bir hatadan programın çalışma şeklini bildiğiniz için kaçınabilirsiniz. Ancaık programınızı başkalarının da kullanabileceğini gözönüne alırsak tamamen ha- tasız programlar yazmanız gerekir. Program döküm ekindeki PROGRAM-1 kendi prog- ramlarınıza ekleyebileceğiniz bir alt program niteli- ğinde. Alt program olarak kullanılacağı için program satırları 35000'den başlıyor. Eğer satır numaralarını değiştirmek isterseniz gerekli GOTO ve GOSÜB satır nu- maralarını da değiştirmeyi unutmayın. Aşağıdaki değişkenlere, alt programı çağırmadan evvel programınızda değer vermelisiniz. Gelelim bu değişkenlerin ne işe yarayacağına: MNz— O Sadece sayısal veri istenirse, MNz— 1 Veri içinde karakter de bulunabilir. ML— O L değişkeninde belirtilen veri uzunluğundan daha kısa uzunluükta veri girişi yapılamaz. |İL— Verilmesi istenen verinin maksimum veya kesin uzunluğu, Bundan başka alt programda şu değişkenler de kullanılıyor: CC — İN$ değişkenindeki geçerli karakter sayısı. CS — Kursorun o anki bulunduğu kolon. CZ — Kursorun o anki bulunduğu satır. CP — Veri alanı açarak elde edilen uzunluk. MS — Veri girişi sırasında en büyük kursor kolonu. G$ — En son GET komutu ile alınan karakteri taşır. IN$ — Kullanıcıdan alınan verinin tamamı bu değiş- kenin içinde ana programa İletilir. Kullanılan hafıza adresleri: 204 — 0 Kursoru aktif hale getirir. 204— 1 Kursoru görünmez yapar. 205-— Kursorun yanıp sönme hızını belirleyen ad- res, 207 — 0 Kursor kapalı durumda, 207-— 1 Kursor açık durumda. 2141-> — Kursorun bulunduğu kolon. 214— Kursorun bulunduğu satır. Alt programı çağırmadan önce programınızda OPEN 1,3 Komutunu kullanmanız gerekir, Çünkü elde edilen veri ekrandan 35680 numaralı satırda GET 1 komutu ile alınıyor. Şimdi alt programın bazı satırlarının açıklamasını ya- palım: 35020 Değişkenler hazırlanıyor ve GET için kursorun yeri saklanıyor. 35060 Klavyeden bir karakter okunuyor. 35080 Eğer klavyeden okunan karakter RETURN tuü- şu iİse ML değişkenindeki değere ve verinin uzunlu- ğuna göre veri alışı bitiriliyor. 35100-35130 Eğer DELETE ve İNSERT tuşları kullanıl- dıysa, veri alanının sadece geçerli değerleri (CP —0) aldığı durumda uzunlük ve pozisyon sayaçları ayar- lanıyor. 35140 İNSERT eğer İL değişkeni ile verilen. uzunluk aşılıyorsa İşleme konuyor. 35160-35180 CRSR SAĞ ve CRSR SOL tuşlarına ba- sıldığında kursorun veri giriş alanından ayrılıp ayrılma- dığını kontrol eder. 35200 MN değişkenine göre veri giriş noktası belir- 1 Komutu lenir. 35220-35240 Eğer kursor veri alanı içinde ise ye sa- dece sayısal veri girilecekse, girilen karakterler kabul edilir. Program 47-58 arasındakileri kabul ediyor. An- cak İsteğinize göre kabul edilebilecek değer aralı- ğını değiştirebilirsiniz. Bu değer aralığı 0-9 arasındaki sayıları içeriyor. 47 değeri Orakamını, 58 değeri 9 rakamını temsil ediyor. 35300-35380 Proagramın bu kısmında da aynı şey- ler yapılıyor, ancak kabul edilen karakter aralığı harf- leri de İçerecek şekilde genişletiliyor. 35400 Eğer veri gereğinden kısaysa ve ML—0 ola- rak verilmişse veri girişi bitirilmiyor. 35600-35690 Veri giriş alanı ekrandan alınıp İL de- ğişkenindeki değere ulaşılana kadar veya ekranda başka veri kalmayıncaya kadar İN$ değişkenine ko- nuyor, Bu işleme başlamadan önce kursor veri giriş alanı- nin başına götürülüyor. Bu şekilde GET 1 komutu ve- ri alanının başından başlıyor. 36000-360680 Kursor kapatılıp G5 değişkeninin içe- riği ekranda gösteriliyor. Bu alt programı programlarınızda nasıl kullanabi- lirsiniz? Mesela veri olarak bir mamül kodu gireceksiniz. Bu kod altı rakam uzunluğunda ve tamamen sayısal ol- moli, Bu şartları İçeren ana program şu şekilde ola- bilir: 10 OPEN 1.3 100 İL— 6:MN-0:ML —0 110 PRİNT"MAMUL KODU0O0;::SOSUB 35000 120 İN — VALÇCINS) İstediğiniz kod İN değişkeninde. Elde edilen sonu- cun sadece sayısal ve altı rakamdan oluştuğuna emin olabilirsiniz. 49