Etiketler

AutoCAD (54) bedava (46) Resim (33) Dosya (32) program (21) Ziyaretçi Defteri (20) excel (18) Güncelleme (16) asgbookphp (16) Şablon (15) Qbasic (14) php (14) Eğitim (13) Nasıl yapılır (13) online (13) Freeware (12) PHP script (12) Fotoğraf (11) Kaynak kod (10) SolidWorks (10) Dos (9) Photoshop (9) VBA (9) Visual Basic (9) ürünler (9) E-book (8) tutorial (6) Ders (5) Word (5) Lisp (4) Programlama (4)

9 Eylül 2007 Pazar

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 "))

Hiç yorum yok:

Yorum Gönder

Related Posts Plugin for WordPress, Blogger...