Quick Basic – Bölüm 8

Quick-Basic Kursu
Bölüm 8: Karakterlerle ilgili işlemler

Kursun bu bölümünde karakterle ilgili komutları inceleyeceğiz.

PRINT

Verileri ekrana yazdırmak için kullanıyoruz.
PRINT ifade yada değişken , ;
ifade olarak bir fonksiyon ya da matematiksel işlem olabilir. Virgül verileri belli atlama noktalarına dizerek yazar, Noktalı virgül ise verileri boşluk bırakmadan yazdırır.

A$ = "Quick" : B$ = "Basic" : C$ = "v4.5"
PRINT A$ , B$ , C$
PRINT A$ ; B$ ; C$
PRINT A$ + B$ + C$ ' üstteki satırla aynı işi görür
PRINT A$ ; " " ; B$ ; " " ; C$
PRINT LEN(A$)
PRINT (4545 - 256) * 24 / 2 ^ 3 + 20

Matematiksel işlem uygulandığında işlem öncelik sırası: parantez içi , ^ , * ve / , + ve –
PRINT 10 – 3 * 2 işleminin sonucu 14 değil 4 dür. Çünkü * öncelikli olduğundan 3 * 2 işlemi önce yapılır. 10 dan 3 ü çıkarıp 2 ile çarpmak isterseniz
PRINT (10 – 3) * 2 olarak yazmalısınız.

TAB komutu ile sonraki yazacağımız metnin başlangıç kolonunu belirtiriz
PRINT “1 – ” ; TAB(5) ; “Qb 4.5”; TAB(20); “DOS”
PRINT “2 – ” ; TAB(5) ; “Visual basic ” ;TAB(20); “WIN”

SPC komutu ile de arada bırakılacak boşluk belirtilir.
PRINT “1 – ” ; SPC(3) ; “Qbasic”; SPC(4); “DOS”
PRINT “2 – ” ; SPC(5) ; “Visual basic” ; SPC(4) ;”WIN”

PRINT USING

Metin ya da rakamları belirtilen biçimde yazar. Biçimleme için özel karakterler kullanılır.

Sayısal değerler için
# : sayının konumunu
. (nokta) : küsuratı
, (virgül) : binler ayıracı
+ (artı) : sayının negatif veya pozitif işaretinin konumu
– (eksi) : negatif sayılarda, sayıdan sonra – konur
$$ : Dolar işareti ekler. PRINT USING “$$###.##” ; 458.62
** : Rakamların başına * koyarak her rakamın aynı genişlikte olmasını sağlar
**$ : ** ve $ bileşik
^^^^ : Sayıları üssü olarak gösterir. PRINT USING “##.##^^^^”; 234.56
Sözel değerler için
& : Değişkenlerin yerleştirileceği yeri belirler
PRINT USING “Gülen & ile ağlayan &”; “ayva”; “nar”
! (ünlem) : Metnin ilk karakterini verir
PRINT USING “!!”; “Mesut”; “Akcan”
_ (alt eksi) : Bu tablodaki özel karakterlerden birini yazdırmak istersek önüne _ konur
PRINT USING “! 1500_!”; “qbasic”
Herhangi bir karakter : (Bu tabloda verilen karakterlerin dışında karakter) Olduğu gibi aynı konumda yazılır
DIM AY AS DOUBLE
CLS
AY(0) = 454121.3654 : AY(1) = -6845.587 : AY(2) = 982.6
FOR N% = 0 TO 2
        PRINT USING "###,###.##+"; AY(N%)
NEXT

STR$

Bellekte sayı olarak tutulan bir değeri metne(STRing) dönüştürür.
STR$(sayısal değer ya da değişken)
Örnek:

CLS
A% = 1986 : B% = 15
PRINT "Bu yıl ";
PRINT A% + B%;
PRINT " yılındayız"
PRINT "Bu yıl ";
PRINT STR$(A%) + STR$(B%);
PRINT " yılındayız"

Yukarıdaki kodları denediğinizde A% ile B% yi toplayabilirken bunu STRing e yani metne dönüştürdüğünde toplamak yerine birleştirdi. Çünkü daha önce PRINT komutunda da görmüştük string verilerde sayısal işlem yapılamaz.

PRINT 1 + 1 ' sonuç: 2
PRINT "1" + "1" 'sonuç: 11 , ama sayısal 11 değil

VAL

Bellekte metin olarak tutulan rakamı, sayısal işlemlerde de kullanılabilecek halde sayı değerine(VALue) dönüştürür
VAL(sözel değer ya da değişken)
Örnek:

INPUT "Doğum yılınız"; T$
PRINT "Yaşınız "; 2001 - VAL(T$)

Örnekte metin olarak girdiğimiz T$ sayısal işleme sokulamaz VAL ile dönüşüm sağlanarak sayısal işlem yapılmıştır.

STRING$

Aynı karakterden çok sayıda kullanmanız gerekiyorsa kullanılır.
STRING$(sayı,karakter)

PRINT STRING$(2000,"*") ' ekranı * ile doldurur
PRINT STRING$(80,"=") ' Bir satırı = ile doldurur

SPACE$

Değişkene istenilen sayı kadar boşluk karakteri aktarır

FOR I=1 TO 5
 X$=SPACE$(I)
 PRINT X$;"MESUT"
NEXT

ASC

Bir karakterin ASCII kod karşılığını verir
ASC(karakter)

PRINT ASC("A")
PRINT ASC("MESUT") 'bu satırda sadece ilk harf olan M harfi dikkate alınır

CHR$

ASCII koduna denk gelen karakteri(CHaRacter) verir.
CHR$(ascii kod)

PRINT CHR$(65) 'ekrana A çıkar
FOR N% = 32 TO 255 ' 32 den 255 e kadar olan 
 PRINT CHR$(N%) 'ascii karakterleri yaz
NEXT

HEX$ , OCT$

HEX$: Verilen sayıyı 16’lık sayı sistemine(HEXadecimal) dönüştürür
HEX$(sayı)

OCT$: Verilen sayıyı 8’lik sayı sistemine(OCTal) dönüştürür
OCT$(sayı)

PRINT HEX$(2001) ' 7D1
PRINT OCT$(2001) ' 3721

INKEY$

Klavyeden girilen karakteri okur. ESC tuşunun ASCII kodu 27 dir.

DO
 A$ = INKEY$
 LOCATE 5, 5: PRINT A$
LOOP UNTIL A$ = CHR$(27) 'Çıkmak için ESC tuşuna basın

2. örnek: Çok basit bir editör

DO
 A$ = INKEY$
 PRINT A$;
LOOP UNTIL A$ = CHR$(27)

LCASE$ , UCASE$

LCASE$: Verilen metni küçük harflere(Lower CASE) dönüştürür.
UCASE$: Verilen metni büyük harflere(Upper CASE) dönüştürür. Her iki komutta da yalnızca İngilizce harfler dikkate alınır.

PRINT LCASE$("MERHABA Dunya")
PRINT LCASE$("Merhaba Dunya")

LEFT$ , RIGHT$ , MID$

LEFT : Metnin belli sayıda sol(LEFT)undaki karakterleri alır
RIGHT: Metnin belli sayıda sağ(RIGHT)ındaki karakterleri alır
MID: Metnin belli sayıda orta(MIDDLE)sındaki karakterleri alır

PRINT LEFT$("QuickBasicV4.5",5)
PRINT LEFT$("QuickBasicV4.5",4)
PRINT MID$("QuickBasicV4.5",6,5) '6. karakterden itibaren 5 karakter

MID$ ın farklı kullanımı: Burada verilen metin içinde değişiklik yapar

A$ = "O adam 25 yaşında"
MID$(A$,3)="kadın"
PRINT A$

LEN

Verilen metnin kaç karakterden oluştuğunu verir

A$ = "MESUT AKCAN"
G% = LEN(A$)
PRINT G% '11 , çünkü boşluklar da sayılır
FOR N%=1 TO G%
 PRINT LEFT$(A$,N%)
NEXT

LTRIM$ , RTRIM$

LTRIM$: Metnin solundaki boşlukları siler
RTRIM$: Metnin sağındaki boşlukları siler

PRINT LTRIM$(RTRIM$("         MESUT AKCAN     "))

Yorum Bırak

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir