Yayınlama: 2000
Güncelleme: 14 Eylül 2020
Güncelleme: 14 Eylül 2020
Kullanımı:
durum: 0: İmleç görünmez, 1: İmleç görünür.
başlangıç, bitiş: Klavye imleç şeklinin dolu başlangıç satırı ve bitiş satırı.
80x25 metin ekran için başlangıç, bitiş değeri 0-7 arası bir sayı olabilir.
Örnek 1:
Örnek:
Örnek:
Örnek:
Örnek 1:
Örnek:
STR$(sayısal değer ya da değişken)
Örnek 1:
Çünkü daha önce PRINT komutunda da görmüştük string verilerde sayısal işlem yapılamaz.
Örnek 2:
VAL(sözel değer ya da değişken)
Örnek:
STRING$(sayı,karakter)
Örnek:
Kullanımı:
ASC(karakter)
Kullanımı:
CHR$(ASCII kod)
Örnek:
Problem 2:
RIGHT$: Metnin belli sayıda sağ(RIGHT)ındaki karakterleri alır.
MID$: Metnin belli sayıda orta(MIDDLE)sındaki karakterleri alır.
Örnek:
Burada verilen metin içinde değişiklik yapar
Örnek 1:
RTRIM$: Metnin sağındaki boşlukları siler
Örnek:
PRINT [ifade veya değişken][{,|;}]
Satır sonunda eklenmeyen 2. tırnak işareti satır terkedildiğinde otomatik
eklenir.
Virgül(,): Verileri belli atlama noktalarına dizerek yazar.
Noktalı virgül(;): Verileri boşluk bırakmadan yazdırır.
Çünkü *(çarpma) öncelikli olduğundan 3 * 2 = 6 işlemi önce yapılır. 10 - 6 = 4
10 dan 3 ü çıkarıp 2 ile çarpmak isterseniz
Virgül(,): Verileri belli atlama noktalarına dizerek yazar.
Noktalı virgül(;): 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 (4582 - 256) * 24# / 2 ^ 3 + 20Matematiksel işlem uygulandığında işlem öncelik sırası:
- parantez içi
- ^ (üs alma)
- * (çarpma)
- / (bölme)
- + (toplama)
- - (çıkarma)
PRINT 10 - 3 * 2işleminin sonucu 14 değil 4 dür.
Çünkü *(çarpma) öncelikli olduğundan 3 * 2 = 6 işlemi önce yapılır. 10 - 6 = 4
10 dan 3 ü çıkarıp 2 ile çarpmak isterseniz
PRINT (10 - 3) * 2olarak yazmalısınız.
PRINT komutu parametresiz olarak yazılırsa boş satır oluşturur. Yani 1 satır
atlar.
PRINT komutunun sonunda (,) ya da (;) yoksa sonraki PRINT
çıktısı bir sonraki satırdan başlar.
Virgül(,) olması durumunda sonraki PRINT komutu, sonraki duraklama
noktasından;
Noktalı virgül(;) olası durumunda ise bir sonraki sütundan başlar.
Sayısal veriler ve değişkenler solunda bir boşlukla yazdırılır.
Örnek:
a=10: b=-25 PRINT a; b; b ' 10 -25 -25
WRITE
Kullanımı:
WRITE ifade listesi
PRINT komutu gibi verileri ekrana yazdırmak için kullanılır.
Farkları:
- İfade ya da değişkenler arasında virgül(,) kullanılır. Noktalı virgül yazılmak istenirse virgüle dönüşür.
- Sayısal verilerin solunda boşluk olmaz.
- Metin içeriği ekrana çift tırnak(") içinde yazılır.
- Veriler ekrana aralarına virgül(,) konularak yazılır.
- Her WRITE yeni bir satırdan yazmaya başlar
Örnek:
CLS A = 122: pi# = 3.14159265359# ad$ = "Mesut": soyad$ = "Akcan" PRINT A, -12 + 7 / 2, ad$, soyad$, pi# WRITE A, -12 + 7 / 2, ad$, soyad$, pi#
LOCATE
Ekranda yazma konumunu(satır ve sütun olarak) ve klavye imleci durumunu ve
şeklini belirler
Kullanımı:
Kullanımı:
LOCATE [satır][,[sütun],[durum][,başlangıç,bitiş]]]]satır, sütun: Dikey ve yatay olarak konumu belirler. Belirtilmeyen değer olursa bir önceki komutun etkilediği konum değeri alınır.
durum: 0: İmleç görünmez, 1: İmleç görünür.
başlangıç, bitiş: Klavye imleç şeklinin dolu başlangıç satırı ve bitiş satırı.
80x25 metin ekran için başlangıç, bitiş değeri 0-7 arası bir sayı olabilir.
Örnek 1:
' LOCATE komutu örnekleri ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com SCREEN 0: WIDTH 80, 25: CLS LOCATE 5, 20 ' Konum: satır 5, sütun 10 yaz LOCATE 4, 19, , 0, 3 'Simgedeki 0-3. satırlar dolu yaz LOCATE 1, 1 'Sol üst köşe yaz LOCATE 2, , 0 'Satır 2, İmleç gizlenir yaz LOCATE , 25, 1, 6, 7 'Satır değişmez, Sütun 25 'İmleç göster, Simgedeki 6 ve 7 satırlar dolu yaz LOCATE 6, 22, , 3, 6 'Simgedeki 3-6. satırlar dolu yaz LOCATE 10, 10, , 0, 7 'Simgedeki tüm satırlar dolu yaz SUB yaz STATIC n = n + 1 COLOR n + 8 PRINT "Örnek:"; n; SLEEP END SUBÖrnek 2:
' LOCATE komutu örneği. Ekran koruyucu(screen saver) ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS LOCATE , , 0 'imleci gizle DO IF r > 24 THEN ra = -1: COLOR INT(RND * 15 + 1) IF r < 2 THEN ra = 1 r = r + ra IF c > 79 THEN ca = -1 IF c < 2 THEN ca = 1 c = c + ca LOCATE r, c: PRINT CHR$(3); FOR m = 1 TO 1000: NEXT 'LOCATE r, c: PRINT " "; LOOP UNTIL INKEY$ = CHR$(27)
CSRLIN
LOCATE, PRINT gibi komutlar ekran yazı yazma konumunu değiştirir.
CSRLIN fonksiyonu, yazı yazma konumunun satır numarasını verir.
Örnek:
' CSRLIN fonksiyonu örnek ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS : LOCATE 12, 10 r = CSRLIN PRINT "Aktif satır:"; r;
POS
Yazı yazma konumunun sütun numarasını verir.
Örnek 1:
CLS LOCATE , , 1 DO a$ = INKEY$ PRINT a$; IF POS(0) > 10 THEN PRINT CHR$(13); '13=Enter LOOP UNTIL a$ = CHR$(27) '27=ESCÖrnek 2:
' CSRLIN ve POS fonksiyonları ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS LOCATE 10, 15 PRINT "Merhaba. "; r = CSRLIN PRINT "Aktif satır:"; r; PRINT " Aktif sütun:"; c = POS(0) PRINT cÖrnek 3:
' CSRLIN ve POS fonksiyonları ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com CLS RANDOMIZE TIMER FOR n = 1 TO 10 LOCATE INT(RND * 24 + 1), INT(RND * 60 + 1) COLOR 10 PRINT CHR$(16); COLOR 15 r = CSRLIN 'satır c = POS(0) 'sütun PRINT "Satır:"; r; "Sütun:"; c - 1 NEXTÖrnek 4:
' POS ve CSRL fonksiyonu örneği ' ©2020 Mesut Akcan ' mesutakcan.blogspot.com DEFINT A-Z CLS k$ = "X" 'karakter g = 20 'genişlik FOR n = 1 TO g * g r = CSRLIN 'satır c = POS(0) 'sütun COLOR 9 IF c = r THEN COLOR 15 PRINT k$; IF c = g THEN PRINT NEXT
TAB
TAB komutu ile sonraki yazacağımız metnin başlangıç sütununu belirtiriz.Örnek:
PRINT "1 - " ; TAB(5) ; "Qb 4.5"; TAB(20); "DOS" PRINT "2 - " ; TAB(5) ; "Visual basic " ;TAB(20); "WIN"
SPC
PRINT ve LPRINT komutunda kullanılır. Veri arasında istenilen sayıda boşluk bırakır.Örnek:
PRINT "1 - " ; SPC(3) ; "Qbasic"; SPC(4); "DOS" PRINT "2 - " ; SPC(5) ; "Visual basic" ; SPC(4) ;"WIN"
SPACE$
İstenilen sayıda boşluk karakteri oluşturmak için kullanılır.
PRINT komutuyla boşluk yazdırmak için kullanılabildiği gibi boşluk
miktarı bir değişkene de aktarılabilir.
Örnek 1:
PRINT SPACE$(8); "Merhaba!"Örnek 2:
FOR i = 0 TO 20 X$ = SPACE$(i) PRINT X$; i; X$; i NEXTÖrnek 3:
DEFINT A-Z DIM s AS STRING COLOR 15 ,1 : CLS a = 1 DO s = SPACE$(n) PRINT s; "MESUT" n = n + a IF n = 9 THEN a = -a LOOP UNTIL n = -1Çıktı:
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 |
# : rakamı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 Çıktı: $458.62 |
** : Sayının başına * ekleyerek her sayının aynı genişlikte olmasını sağlar |
**$ : * ve $ bileşik PRINT USING "**$###,###.##" ; 31458.82 Çıktı: ***$31,458.82 |
^^^^ : Sayıları üslü olarak gösterir. PRINT USING "##.##^^^^"; 234.56 Çıktı: 2.35E+02 |
Sözel değerler için |
& : Değişkenlerin yerleştirileceği yeri belirler. PRINT USING "Gülen & ağlayan &"; "ayva"; "nar" Çıktı: Gülen ayva ağlayan nar |
! (ünlem) : Metnin ilk karakterini verir PRINT USING "!!"; "Mesut"; "Akcan" Çıktı: MA |
_ (alt eksi) : Bu tablodaki
özel karakterlerden birini(#.,+-$*+^&!) yazdırmak
istersek önüne _ konur. PRINT USING "! 1500_!"; "Qbasic" Çıktı: Q 1500! |
Herhangi bir karakter : (Bu tabloda verilen karakterlerin dışında karakter) Olduğu gibi aynı konumda yazılır. |
Örnek:
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Çıktı:
454,121.38+ 6,845.59- 982.60+Örnek:
a = 12345.758#
b = 1000
PRINT USING "TL #,###,###.##"; a
PRINT USING " $ #,###,###.##"; b
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 1:
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.
Örnek 2:
PRINT 1 + 1 ' sonuç: 2 PRINT "1" + "1" 'sonuç: 11 , ama sayısal 11 değil
VAL
Bellekte metin olarak tutulan sayıyı, sayısal işlemlerde de kullanılabilecek 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 "; VAL(RIGHT$(DATE$,4)) - 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)
Örnek:
PRINT STRING$(2000,"*") ' ekranı * ile doldurur PRINT STRING$(80,"=") ' Bir satırı = ile doldurur
ASC
Bir karakterin ASCII kod karşılığını verir. ASCII (American Standard Code for Information Interchange = Bilgi Değişimi İçin Amerikan Standart Kodlama Sistemi)Kullanımı:
ASC(karakter)
PRINT ASC("A") '65 PRINT ASC("MESUT") 'Kelimenin ilk harfi olan M harfi dikkate alınır. 77
CHR$
ASCII koduna denk gelen karakteri(CHaRacter) verir.Kullanımı:
CHR$(ASCII kod)
Örnek:
PRINT CHR$(65) 'ekrana A çıkar FOR N% = 32 TO 255 ' 32 den 255 e kadar olan PRINT CHR$(N%); " "; 'ascii karakterleri yaz NEXTÇıktı:
INKEY$
Klavyeden girilen tuşun ASCII karakter kodunu alır.
Örneğin ESC tuşunun ASCII kodu 27 dir. Ayrıntı için:
Bölüm 25: Klavye kullanımı
Örnek: Basit bir editö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.
Örnek:
DO A$ = INKEY$ IF A$ = CHR$(27) THEN EXIT DO 'Çıkmak için ESC tuşuna basın PRINT A$; LOOP
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.
Örnek:
PRINT LCASE$("MERHABA Dunya") 'merhaba dunya PRINT UCASE$("Merhaba Dunya") 'MERHABA DUNYAProblem 1:
Verilen bir metindeki kelimelerin baş harflerini büyük harfe
dönüştüren programı yazın.
Problem 2:
Verilen bir metindeki cümlenin baş harflerini büyük harfe dönüştüren
programı yazın.
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.
Örnek:
PRINT LEFT$("QuickBasicV4.5",5) ' Quick PRINT RIGHT$("QuickBasicV4.5",4) ' V4.5 PRINT MID$("QuickBasicV4.5",6,5) '6. karakterden itibaren 5 karakter. BasicMID$ ı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$ 'O kadın 25 yaşında
LEN
Verilen metnin veya değişkenin bellekte kapladığı miktarı bayt cinsinden verir.Örnek 1:
DIM b AS DOUBLE DIM c AS LONG DIM d% 'integer DIM e$ 'string DIM f 'single PRINT LEN("Merhaba") '7 PRINT LEN(b)'8 PRINT LEN(c)'4 PRINT LEN(d%)'2 PRINT LEN(e$)'0 PRINT LEN(f)'4Örnek 2:
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Çıktı:
11 M ME MES MESU MESUT MESUT MESUT A MESUT AK MESUT AKC MESUT AKCA MESUT AKCAN
LTRIM$ , RTRIM$
LTRIM$: Metnin solundaki boşlukları silerRTRIM$: Metnin sağındaki boşlukları siler
Örnek:
PRINT LTRIM$(RTRIM$(" MESUT AKCAN "))
STRING'İ SAYIYA DÖNÜŞTÜRME
CVI, CVS, CVL, CVD komutları kullanılır.
Ayrıntı için
Dosya İşlemleri-3
bölümüne bakınız
Önceki Bölüm: 7: Alt program ve Fonksiyon | Sonraki Bölüm: 9: Sayılarla ilgili işlemler |
Hiç yorum yok:
Yorum Gönder