Kullanıcıdan bilgi girişi
Kullanıcı ile etkileşim için kullanıcıdan bilgi almamız gerekir. Bunun için iki örnek ekleyeyim.
Kod:
system("chcp 65001")
input "Adını yaz : " isim$
print "Merhaba ",isim$
input "Yaşını yaz : " yas
print isim$," sen ",yas," yaşındasın."
Burada bir Konsol programında kullanıcıdan bir giriş bekleniyor.
"input" beklenen giriş için bir de açıklama yazmamaıza olanak tanıyor. Ve kullanıcı bir giriş yapana kadar ve "Enter" tuşuna basana bekliyor. Kullanıcı girişi bu konuda "isim$" adlı değişkenin erişebildiği bir alana, ileride kullanılabilmek amacıyla
saklanıyor. "print" ile o saklanan veriyi yazdırabiliriz.
İkinci "input" girişimiz bizden (ismin sonunda "$" karakteri yok) veri türü sayı olan bir giriş bekliyor. Ve ikinci "print" fonksiyonu bir den fazla değeri, virgül'ler ile ayrılmış şekilde yazdırıyor. (Virgül en sonunda olduğunda 6 sütün
atlanıyordu) Buradaki virgüller farklı veri türlerini aynı satıra yazmamızı sağlıyor.
"input" grafik ekranda çalışmıyor. Konsol da giriş alıp, grafik ekranda sonucu yansıtabilirsiz. Bunun için Konsol ön sırada
açılmış olmalı ve sonra grafik ekran öne alınmalı. Bunu hiç bir kullanıcıdan bilmesini ve uygulamasını bekleyemezsiniz.
Çözüm:
Kod:
dim a$(5)
open window 400,400
color 255,0,0
text 50,50,"Adini yaz:","swiss24"
clear screen
for x = 1 to 5
isim$=inkey$
text 150+(x*15),50,isim$
a$(x)=isim$
next x
text 50,100,"Merhaba "+a$(1)+a$(2)+a$(3)+a$(4)+a$(5)
Grafik ekran için kullanıcı girişi için "inkey$()" fonksiyonunu kullanıyoruz. "inkey$" her seferinde sade bir karakter
giriş aldığı için, bunu bir döngü içinde tekrarlatmamaız gerekiyor. Ve ekrana yazılacak olan da aslında en son alınan
karakter olur. Bunu önlemek için her bir karakteri ayrı bir değişkene kaydediyoruz. Her seferinde yeni bir isim
yaratmak zorunda kalmamak için bir dizi kullanıyoruz.
"dim" ile tanımlanan değişkenler bir den fazla veriyi tutabilir. Veriler aynı türden olmalı ve "dim" ile belirlenen sayıdan fazla olamaz. Aynı isimli değişkenler, parantez içinde eklenen sıra sayısı sayesinde tanımlanır. "for" döngüsü içinde her bir
değişkene her seferinde giriş yapılan karakter atanıyor. Ve "text" çıktısı ile ekrana yazdırılıyor.
Toplam çıktı sanra tekrar döngü dışında "text" fonksiyonunda, değişkenler sırasıyla çağrılarak ve "+" ile birleştirilerek
yazdırılıyor. (Hangi sırada birleştirilirlerse o sırada yazılırlar.)
Programımız beş karakterden uzun isim almıyor. Beş kez tuşa basabilirsiniz.