şeklinde kullanımı). Örneğin: Kodlar OPEN "Skorlar. txt" FOR INPUT AS

LEN = LEN CLS Max = LOF(1) \ LEN FOR i = 1 TO Max GET

DosyaNum, INPUT

ve PUT

Ellerine Sağlık

LEN = LEN CLS i = 0 DO i = i + 1 INPUT "Adı :", Veri. Ad INPUT "Yaşı:", Veri. Yas PUT

INPUT

DosyaNum şeklinde kodlar kullanılır. Bunlar dosyayı açtıktan sonra yapacaklarımız içindir. Şimdi bunları tanıyalım. PRINT

BINARY modunda dosyayı açtıysanız yalnızca GET

CLOSE OPEN ile dosyayı açar, çeşitli kodlar kullanarak bilgiler alır veya yazar ve sonra CLOSE ile kapatırız. İşlerin sırası bu şekildedir. OPEN komutu içinde PRINT

OUTPUT: Belirtilen dosya varolsa bile, ve içinde bilgiler olsa bile bu mod ile o dosya tamamen silinir ve verilen bilgiler yerleştirilir. Yani dosyayı baştan yaratmak gibidir. Kodlar OPEN "Okubeni. txt" FOR OUTPUT AS

kullanılabilir. Burada yukardakilerden daha farklı bir sistem kullanılmaktadır. Bilgiler ikili bir şekilde, değiştirilemez olarak depolanmaktadır . Burada değişken olarak TYPE komutunun bilinmesi gerekiyor. Çünkü eklenen bilgiler çoğul ise bu durum gerekli. Bu nedenle Binary olarak dosya kaydedilmesini daha sonra TYPE, DIM, CONST, DIM SHARED, COMMON, COMMON SHARED gibi komutları ele aldığımızda açıklamayı uygun bulduk. Dosya Yönetimi Bilgisayarınızda bulunan dosyaları arşiv, salt okunur, sistem özelliklerinden, boyutlarına, türlerine, konumlarına göre dilediğiniz gibi kullanabilirsiniz. Bunun için MSDOS'un iç ve dış komutları size yardımcı olacaktır. Bunun dışında programın içinde olan bazı kodlar bize kolaylık sağlamaktadır. Bunlardan bazıları: KILL KILL DosyaAdi şeklinde kullandığımız bu komut belirtilen dosyanın silinmesini sağlamaktadır . FILES FILES bize dizinde bulunan dosyaları listeler. Yanına gelebilecek bazı terimlerden aşağıdakilere göz atalım şimdi.. FILES " . bas" FILES "C: . " FILES "TEST?. BAS" (TEST ile başlayan 5 karakterli BAS dosyalarını gösterir) FILES "SHARED/" CHDIR ve CHDRIVE CHDIR, Programın kullandığı dizinini değiştirir. Örneğin: CHDIR "C:\Qbasic" CHDRIVE, Programın kullandığı sürücüyü değiştirir. Örneğin: CHDRIVE "D:" MKDIR ve RMDIR MKDIR, Klasör yaratmak için kullanılır. Örneğin: MKDIR "Program" RMDIR, Klasörü silmek için kullanılır. Örneğin: RMDIR "Dizin" Ders 6'da burada bitti. Konularımız giderek daha kolay gelecektir. Şimdiye kadar Qbasic'te en çok kullanılan kodları gördük. Şimdi detaylara iniş başlıyor.. 7. Ders: ALT PROGRAMLAR Bu Derste GOSUB ve SUB'un kullanımını öğreneceğiz. Bunlar Program içindeki alt fonksiyonlar olup programınızda kullanacağınız işlevleri birçok yere uygulama özgürlüğü sağlayacaktır. SUB Program içinde bir satıra SUB yazıp ENTER'a bastığımız an sanki tüm veriler silinmiş gibi olur. Size yeni bir sayfa açılır. Bu bizim ALT Program penceremizdir. Bundan böyle Fonksiyon adı bizim için yeni bir koddur. Bu anlatımı bir örnekle pekiştirelim. Şimdi yapacağımız program Ona verdiğimiz 2 sayının toplamını ekrana yazdırsın. Bu durumda iki değişken kullanacağız. Bu iki değişken toplayacağımız sayılar olacak. Kodlar SUB Toplama (Sayi1, Sayi2) Print Sayi1 + Sayi2 END SUB Yukardaki kodları yazarız. Ve Ana ekrana dönebiliriz. Buraya TOPLAMA 4, 3 yazarsak ve programı başlatırsak ekranda 7 sayısını göreceksiniz. İşte Sub'un temel mantığı bu. SUB ayrı bir program olarak görülse de Basic'teki tüm kodları kullanabildiğiniz bir yer... Şimdi daha karışık bir örnekle bunu pekiştirelim. Kodlar Untitled. bas içinde BILGIAL programı SUB BILGIAL CLS COLOR 15: PRINT "Sayın "; KullaniciAdi$; ", Programa Hoşgeldiniz.." COLOR 15: PRINT "Lütfen aşağıdaki sorulara yanıt verin..." INPUT "Yaşınız:", Yas INPUT "Kan Grubu:", KanG$ END SUB Yukarıda KullaniciAdi$ ile SUB'u çağırdığımızda bazı bilgiler istiyor. Buraya kadar herşey tamam. Main Module 'a şunları yazalım: Kodlar Untitled. bas BILGIAL "Murat" PRINT Yas PRINT KanG$ Bu şekilde programı çalıştırırsanız girdiğiniz bilgilerin hiçbirinin görünmediğini göreceksiniz. Bu durumun nedeni SUB'lar arasındaki değişkenlerin sabitlenmemiş olması. Yani Yas değişkeni SUB içinde farklı, Main Module'de farklı anlamlara geliyor. Bu durumu ortadan kaldırmak için DIM SHARED kullanırız. Programın başına DIM SHARED Yas, KanG$ yazarsak bilgilerin görüntülendiğini göreceksiniz.. Öyleyse şimdi DIM komutu ve bazı ARRAY 'ler hakkında bilgi alalım.. DIM Bu komut bir değişkeni tanımlamak için kullanılır. O değişkenin türü, dize sayısı gibi bilgiler bu komutla bildirilir. Örneğin KanGrubu adlı değişkenin bir STRING değer olduğunu aşağıdaki kodla bilgisayara bildirebiliriz. Böylece bu değişken için geçerli olmak üzere $ işareti kullanmadan bir String değere sahip olacağız. Örneği inceleyin... Kodlar DIM KanGrubu AS STRING, Onay AS BOOLEAN Önceki derslerden hatırlatsanız STRING, INTEGER, DOUBLE, SINGLE, LONG olmak üzere 5 çeşitti . Bunun başına AS terimini getirmeyi unutmayın ve virgül kullanarak DIM'i devam ettirebilirsiniz. Aşağıda farklı bir örnek var. Kodlar DIM Degisken$ As STRING 15 Bu örnekteki STRING 15 o değişkenin max. 15 karakterden oluşan bir String değeri olduğunu belirttik. Eğer Bu değişken için INPUT komutu ile veri alırsak ve kullanıcı tarafından verilen değerler 15 karakterden fazla olursa sadece ilk 15 karakter depolanacaktır bu değişken içinde. (Hafıza sorunlarında XMS kullanamıyorsanız bu sistem çok işinize yarayacaktır. Çünkü STRING'ler toplam 32768 karakter kapasitelidir..) Bu DIM kullanımı olarak göreceğimiz şimdilik son örnek.. Kodlar DIM Ad$(20), Soyad$(20), Yas(20) Yukarıdaki örnekte değişkenlerin yanına bir sayı geldiğini farketmişsinizdir. Bu sayı o değişkenden kaç tane olduğunu bilgisayara bildirmektedir. Mesela Ad$ değişkeninden toplam 20 tane vardır. Aşağıdaki gibi değer girişleri yapılabilir. Kodlar DIM Ad$(10), Soyad$(10), Yas(10) FOR i = 1 to 10 INPUT Str$ + ". kullanıcının adı:", Ad$ INPUT Str$ + ". kullanıcının soyadı:", Soyad$ INPUT Str$ + ". kullanıcının yaşı:", Yas Next i Bu örnekte 10 tane Ad, Soyad ve Yaş verisi istenmektedir. Bunlara ulaşırken Print Ad$(1) şeklinde kullanmak zorundayız yani Ad$ tek başına bir anlam ifade etmiyor. Bu dize değerleri bize kullanımda çok büyük kolaylık sağlamaktadır. Birçok veri birim zamanda işlenebilmekte ve depolanabilmektedir. DIM SHARED SUB'lar arasında da geçerli olan Değişken değerleridir. Normalde her SUB kendi içinde değişkenleri kabul eder fakat bu kullanımla beraber Tüm alt programlar içinde geçerli olan değişkenler yaratılmaktadır. Kodlar DIM SHARED Yas, KanG$ UYARI: Ister DIM ister COMMON olsun eğer SHARED kullanıyorsak bunu mutlaka Ana Kodlar kısmında kullanmalıyız. EXIT SUB Bunu yalnız SUB içinde kullanabilirsiniz. Bu ilgili Modülü kapatıp ana ekrana geri dönmesini sağlamaktadır... GOSUB Öncedende bahsetmiştik. Bu komut aynı modül içinde olmak şartıyla ilgili etikete gider ve RETURN komutuyla geri döner. Yani sık sık yapılan bir işi hızlandırmaya yarar. Bu da bir ALT program çeşididir. Kodlar INPUT "Bir kelime yazin..", Kelime$ GOSUB Duzelt PRINT Kelime$ END Duzelt: Yeni$ = "" FOR i = 1 TO LEN HarfNo = ASC(MID$(Kelime$, i, 1)) IF HarfNo >= 65 AND HarfNo <= 96 THEN Yeni$ = Yeni$ + CHR$(HarfNo + 32) ELSE Yeni$ = Yeni$ + CHR$ END IF NEXT i Kelime$ = Yeni$ RETURN Bu örnekte Duzelt, Kelime$ içine yazılan bir cümledeki büyük harfleri küçük harfe çevirecektir. Örneğin eğer MURAT yazarsak sonuç murat olarak çıkacaktır. Asıl mantık GOSUB Duzelt dediğimizde oraya gitmesi işlevi gerçekleştirmesi ve RETURN komutuyla geri gelmesidir. ASC , Bu fonksiyon bir karakterin ASCII değerini verir. Bu değer sayısal bir değer olup 0-255 arasında olabilir. Dersimiz burda bitti. Sevgiler... 8. Ders: DATA, RESTORE, READ, CLEAR DATA komutu bilgileri programa yerleştirmenin diğer bir yoludur. Bu şekilde program içine veriler önceden verilir ve daha sonra çağırılırlar. İki örnekte bunu inceleyelim. İlk örnek Veri kullanımında faydalanabileceğimiz şekilde... Kodlar DIM Ay$(12) For i = 1 to 12 Read Ay$ Next i Gun = Val(Mid$(Date$, 1, 2)) AyNo = Val(Mid$(Date$, 4, 2)) Yil = Val(Mid$(Date$, 7, 4)) Print "Bugün"; Str$ ; " "; Ay$ ; " "; Str$ DATA "Ocak","Şubat","Mart","Nisan","Mayıs","Haziran " DATA "Temmuz","Ağustos","Eylül","Ekim","Kasım","Ara lık" Görünüş Bugün 26 Mart 2004 DATA komutu programın neresinde olursa olsun ilk okunan kısımlardan biridir. Örneğin yukarıdaki örnekte programın sonunda kullandık. Bunlar işlev olarak değer görmezler yani PRINT komutundan sonra komut yokmuş gibi düşünün. Yukarıda READ komutunu kullandık. Bu DATA'daki verilerin okunması için gerekli olan koddur. Eğer DATA bittiği halde READ yani okuma işlemi devam ederse bilgisayar bir hata iletisi verecektir: OUT OF DATA RESTORE, data okunduktan sonra tekrar başa dönmeyi sağlar. Böylece verileri yeniden kullanabilirsiniz. CLEAR, verileri tamamen temizlemek için kullanılır. Aynı zamanda grafik yapımında da DATA'dan yararlanılabilir. Aşağıda buna bir örnek var. 7x7'lik bir kalp yaptık ve bunu ekrana yapıştırıyoruz.. Kodlar RANDOMIZE TIMER SCREEN 13 DATA 0,12,12,0,12,12,0 DATA 12,12,12,12,12,12,12 DATA 12,12,12,12,12,12,12 DATA 12,12,12,12,12,12,12 DATA 0,12,12,12,12,12,0 DATA 0,0,12,12,12,0,0 DATA 0,0,0,12,0,0,0 For i3 = 1 to 1000 'Yineleme Sayısı YapX = INT(RND 320 + 1): YapY = INT(RND 320 + 1) RESTORE FOR i1 = 1 to 7: FOR i2 = 1 to 7 Read Renk PSET (YapX + i2, YapY + i1), Renk Next i2: Next i1 Next i3 Bu şekilde program çalıştırılırsa RND ile belirtilmiş karışık noktalardan başlamak üzere bir 1000 kalp yapıştıracaktır ekrana. DATA'dan yazı tipi oluşturma da, grafik çizimlerinde, karakterler için gölge efektlerinde, renklendirme de ve daha pek çok alanda kullanabilirsiniz. 9. Ders: TYPE, GET

Yukarıda yazan kodları bir not defterine kopyalayıp Deneme. Bas adı ile kaydedip çalıştırdıktan sonra (tabi 3-5 tane de değer girin) açtığımız dosya olan DATA. DAT dosyasına bakın. Burda ikili değerde yerleştirilmiştir ve Yaşlar görünmemektedir. Bunu el ile değiştirmek dosyanın yokolmasına yol açabilir... GET

İlk önce dosyayı açalım. Dosyayı açarken yine OPEN komutunu kullanırız ve RANDOM modunda açarız.. LEN komutu ile dosya büyüklüğü programa bildirilir. Bunun için aşağıdaki kalıbı kullanmanız yeterli... Kodlar OPEN "Data. Dat" FOR RANDOM AS

Başlangıçta daha çok kullanılan kodlara yer veriyorum, WHILE'de bir döngüdür. Tek farkı bu kez Doğru, Yanlış'ın kullanıldığı bir döngü olması. Ders 4. Burada bitti, hoşçakalın!!! 5. Ders: 'Grafik Kullanımı' Şimdiye kadar biraz karışık şeyler öğrendik, hepsi de programlamanın özüydü. Şimdi biraz süsüyle ilgilenelim, daha sonra tekrar o konulara döneceğiz.. SCREEN Ekran çözünürlüğünü ayarlamak için kullanılır. En çok bilinenler: 'SCREEN 0': Standart, grafik kullanılamaz. 80x25 vea 40x25 yazı aralığındadır. 'SCREEN 7': 320x200 grafik ve 16 renkli ekran.. 'SCREEN 8': 640x480 grafik ve 16 renkli ekran.. 'SCREEN 9': 640x480 grafik ve 2 renkli ekran.. 'SCREEN 10': 640x480 grafik ve 4 renkli ekran.. 'SCREEN 11': 640x480 grafik ve 2 renkli ekran.. 'SCREEN 12': 640x480 grafik ve 16 renkli ekran.. 'SCREEN 1-2-13': 320x200 grafik ve 256 renkli ekran.. 'SCREEN 3'ten 6'ya': Bu bazı özel durumlarda çalışır, genelde kullanılmaz.. Ayrıca WIDTH komutu da ekran çözünürlüğü ayarlamayla ilgilidir. Satır ve Sütun Sayısı mutlaka belirtilir. Aşağıdakini yazın, Qbasic'i 800x600'e yakın kullanmak için ideal... Kodlar WIDTH 80, 50 CLS Clear Screen'den türetilen bu kod, gerçekte de ekranı temizlemek görevindedir. COLOR Renkler, ekran tipine göre değişir. Oyunlarda daha çok SCREEN 13 kullanılır. Bunun nedeni daha fazla renk içermesidir. Aşağıda standart palete göre 16 renk belirtilmiştir. 'COLOR 0': Arkaplanın rengi 'COLOR 1': Mavi 'COLOR 2': Yeşil 'COLOR 3': Deniz Mavisi 'COLOR 4': Kırmızı 'COLOR 5': Pembe 'COLOR 6': Turuncu 'COLOR 7': Gri 'COLOR 8': Koyu Gri 'COLOR 9': Açık Mavi 'COLOR 10': Açık Yeşil 'COLOR 11': Açık Deniz Mavisi 'COLOR 12': Açık Kırmızı 'COLOR 13': Açık Pembe 'COLOR 14': Açık Sarı 'COLOR 15': Beyaz Ekran tipine göre değişir diyoruz, gerçekten öyle. Hatta bazı ekranlarda yanıp sönen, arka planlı filan birçok şekilde kullanabilirsiniz. Bu özet niteliğinde bir ders olduğu için bu konulara sonra deyinmek doğru olacaktır. LINE Doğru, Kare ve dikdörtgenler çizimi için kullanılan koddur. Ekran biliyorsunuz, pixellerden oluşmuştur. 800x600, 1024x768, 640x480.. bunlar belli bir alanı ifade eder. Qbasic ekranında da bu alanları kullanıyorsunuz. Screen 13'te ekran 320x200. Buna göre aşağıdaki kod ile başlangıç noktası 0,0 ve bitiş noktası 10,10 olan bir çizgi çiziyoruz. Ve bu kuzeybatı, güneydoğu yönündeki çizginin renginin 15 olmasını istiyoruz. Öyleyse şunu yazarız: Kodlar LINE (0, 0)-(10, 10), 15 Eğer bunun yine aynı noktalar arasında bir kare olmasını istersek renkten sonra virgül koyarak B, içi dolu bir kare olmasını istiyorsak BF yazıyoruz. (14 ve 11, renkler) Kodlar LINE (0, 0)-(10, 10), 14, B Kodlar LINE (0, 0)-(10, 10), 11, BF CIRCLE Daire çiziminde ise CIRCLE kullanılır. Bu kodun kullanımı merkez noktanın ve yarıçap uzunluğunun belirtilmesi iledir. Tabi rengi unutmayın, onu da en sona ekliyoruz. Kodlar CIRCLE (100, 100), 10, 5 CIRCLE ile elips, yarım daire vs. gibi bir çok eğri çizebiliriz. Bunları ayrıntılı olarak sonra görecez. Yalnız Circle ile çok kullanılan PAINT komutuna deyinmeden olmaz. Bu dairenin içini doldurur. .. Böylece içi dolu bir daire elde ederiz. Kodlar CIRCLE (100, 100), 10, 5 PAINT (100, 100), 5 PSET Belirtilen noktayı istediğiniz bir renk ile boyar. Kodlar PSET (44, 11), 12 6. Ders: 'Dosyaları Kullanmak' Bu derste programın bir dosyaya yazılar yazmasını, dosyadan bilgi almasını ve dosya yönetimi ile ilgili bazı komutları inceleyeceğiz. OPEN Dosya açmak için kullanılır. Kullanımının iki şekli vardır. En kolayı OPEN DosyaAdi FOR AS DosyaNum şeklinde olandır. Burada BINARY dosyayı ikili açıp bilgileri almak ve vermek, OUTPUT dosyanın içine en baştan yazmak, INPUT dosyadan bilgi almak ve APPEND dosyanın içindeki bilgiye bilgi eklemek için kullanılır. Dosya Numarası ise # ile ifade edilir ve buraya herhangi bir sayı gelir (Önerilen

DosyaNum, GET

PRINT

DosyaNum ve PUT

Şimdi kaydettiğimiz bilgileri yeniden alalım. Burda bilgisayara kaç kayıt olduğunun bildirilmesi gerekir. LOF(1) / LEN kullanırız.. Kodlar TYPE TestRecord Ad As String 20 Yas As INTEGER END TYPE DIM Veri As TestRecord OPEN "Data. Dat" FOR RANDOM AS

Yukarıdaki şekilde çalıştırırsak kayıtların tamamı Ad ve Yaş olarak okunacaktır. ... Böylece Kayıt değerlerindeki GET/PUT'u öğrendik. Bu komut aynı zamanda Grafik kullanımlarında da kullanılmakta bu konuya sonra deyineceğim GET/PUT ile ilgili sorunlarınızda bana ulaşabilirsiniz. 10. Ders: BAZI FONKSİYONLAR Atlamış olabileceğim ya da fazla ayrıntı isteyen bazı fonksiyon ve kodları bu derste sizle paylaşmak istiyorum. CONST Sabit değerdir. Bu değer programda hiç değişmeyen değerler için kullanılır. Aşağıdaki örnekte PI adlı değişken her zaman 3.14 olarak alınacaktır. Kodlar CONST PI=3.14 REDIM Az önce öğrendiğimiz DIMENSION kodu sadece 1 kere kullanılabilir. Eğer değişkenlerin kalıplaşmış değerlerinde değişiklik yapmak istiyorsanız REDIM kullanarak DYNAMIC özellik kazandırabilirsiniz. Böylece ERASE komutu kullanarak silebilirsiniz. SHELL Bir programı çalıştırmak için kullanılır. Program MS-Dos Exe dosyası olursa program içinde çalışır. Windows için bir program çalıştırıyorsanız bu durumda program Not Defterini açacak ve devam edecektir.. Yani MS-Dos Programlarında ilgili program açıldıktan sonra kendi programımız diğer programın bitmesini bekler.. Kodlar SHELL "C:\Command.com" DECLARE SUB Bu programda kullandığınız SUB'ların varlığını programa belirtmek için kullanılır. Mutlaka bulunur. Bunu Qbasic kendisi yapıştırır çoğu zaman. Eğer DECLARE SUB ile ilgili bir hata varsa bunların hepsini silin. Nasıl olsa Qbasic tekrar, üstelik doğru şekilleri ile bunu yerleştirecektir... COMMAND$ Program başında kullanılır ve Programın başlangıç anahtarlarının belirlenmesini sağlar. Mesela programımızın adı Oyun. Exe olsun. Eğer komut satırına Oyun. Exe NOSOUND yazıp da programı çalıştırırsak COMMAND$ değeri NOSOUND olacaktır. Bu sayede gerekli anahtarlar belirlenebilir. Kodlar IF COMMAND$ = "H" THEN Print "Yardım Dosyası'na Hoşgeldiniz..." ELSE Program Kapatıldı.. END IF Bu örnekte program H anahtarı ile açılırsa 'Yardım Dosyası' mesajı ile açılıyor bunun dışında hep 'Program Kapatılacak' der.. ON ERROR GOTO Bilgisayar bir hata ile karşılaştığında belirttiğiniz etikete gidecektir. Bu programın sorunsuz çalışmasına yardımcı olabilir. Çünkü Etiket içinde RETURN NEXT kullanabilirsiniz. Bu sonraki satırdan devam et anlamını taşır.. Aşağıdaki örnekte 0'ı 1'e bölerek hata yapıyoruz. Normalde bilgisayarda ON ERROR GOTO komutu olmasa hata iletisi vereceği halde aşağıdaki şekilde çalıştırırsanız hatalı satır atlanarak geçilecektir ve hata iletisi görmeyeceksiniz... Kodlar ON ERROR GOTO HANDLE Hata = 0 / 1 PRINT Hata END HANDLE: RETURN NEXT ON ingilizcede üstünde anlamındadır. Bu kodun birçok kullanım şekli vardır. Bunları ilerleyen derslerde ayrıntısıyla bakacağız... LTRIM$ ve RTRIM$ LTRIM$ , bir STRING değişkenin sol tarafında bulunan tüm boşlukları siler. RTRIM$ ise sağ taraftaki boşluklar içindir.. Aşağıdaki örneği inceleyin.. Kodlar Deger$ = " SELAM " PRINT RTRIM$(LTRIM$ + " " Görünüşü SELAM TIME$ Visual Basic'te de aynı şekilde kullanılan bu kod bize bilgisayar saatini görüntüler... 00:12:25 şeklindedir. Yani Saat, Dakika ve Saniye olarak. MID$, LEFT$, RIGHT$ komutları ile bunları ayrı ayrı ele alabilirsiniz.. Kodlar Saat = VAL(MID$(TIME$, 1, 2)) Dakika = VAL(MID$(TIME$, 4, 2)) Saniye = VAL(MID$(TIME$, 7, 2)) DATE$ Tarihi görüntüleyen koddur. 26/03/2004 şeklindedir. Yani Gün, Ay, Dakika olarak. MID$, LEFT$, RIGHT$ komutları ile bunları ayrı ayrı ele alabilirsiniz.. Kodlar Gun = VAL(MID$(TIME$, 1, 2)) Ay = VAL(MID$(TIME$, 4, 2)) Yil = VAL(MID$(TIME$, 7, 4)) Matematiksel Fonksiyonlar Bir sayının SIN sinüsünü, COS kosünüsünü, TAN tanjantını, ATN arktanjantını verir. Üç boyutlu oyun yapımında bu kodlar çok fazla kullanılmaktadır. İleri düzeyde ayrıntısına geçeriz... CALL Bir Prosedür/Alt Program/SUB çağırmak için kullanılır. CALL Renklendir yazılırsa Renklendir adlı SUB çağırılacaktır. Bunu CALL kullanmadan da yapabileceğinizi unutmayın... RANDOMIZE TIMER Normalde bu kod kullanmazsa RND'nin kullanıldığı her işlem standart olacaktır. Yani program ilk açıldığında INT(RND 3 + 1)'de sonuç 2 geliyorsa bu ve bundan sonraki seçimler de hep böyle olacaktır. Bu kod zamanın karışık algılanmasına yardımcı olmaktadır. RND'yi kullandığınız her programda mutlaka bulunmalıdır...

FOR i = 1 TO 5 IF EOF(1) THEN GOTO Bitir INPUT

LEN = LEN PUT

INPUT: Mod olarak INPUT'u seçerseniz bilgisayar dosyadan bilgi almak istediğinizi anlayacaktır. Ve sadece dosyayı okuma amaçlı olarak dosya açılır içinden değişken olarak belirttiğiniz değerleri alır ve çıkar. Örneğin Kodlar OPEN "Veriler. txt" FOR INPUT AS

Bu konuda çok soru geliyor. Bu nedenle bu dersi ayrıntısıyla anlamaya çalışalım. TYPE Bu bir değişken için birden fazla tür yaratmaktır. Bir değişken depolama sistemi diyebiliriz. Eğer MySQL ve Tablolama hakkında bir fikriniz varsa bu sistemi ona benzetebilirsiniz. Örnekle başlayalım: Kodlar TYPE TestRecord Ad As String 20 Yas As INTEGER END TYPE DIM Veri As TestRecord Burda da görüldüğü gibi kullanım TYPE şeklinde başlar ve kayıtın içerdiği değişkenler türleri ile belirtilir ve sonra END TYPE ile bitirilir. Bu kaydı kullanacak Değişken DIM ile belirtilir. Şimdi isterseniz bu kaydın dosyalara eklenmesi ve bilgilerin alınmasını öğrenelim. PUT

GENEL BİR QBASİC. 1. Ders: 'Print, Color, Locate, Print Using, Lprint, REM' Qbasic programımızı açtık. Ve artık kodları yazmaya başlayabiliriz. Bundan önce Qbasic dizinindeki bazı programları ne anlama geldiğiniz anlatalım: Bunlardan QBASIC. EXE ya da QB. EXE adıyla bilinen dosya program dosyamızdır. Buna tıklayarak compiler programımızı çalıştırırız. BC. EXE programı OBJE dosyanın yaratımı için ve LINK. EXE ise bunun EXE formatına dönüştürülmesi için gerekli programlar. Qbasic 4.5 ve 7.1'de program menülerinden bu işi yapabilirsiniz. Yalnız Qbasic 1.1 kullanıyorsanız mutlaka bu dosyaları COMMAND. COM komut satırında ilgili bas dosyayı yazarak EXE dosyasına çevirmelidir. 2. Ders: 'Değişkenler ve Kullanımları' Her programlama dili değişkenlere sahiptir. Bunlar sayısal ya da alfasayısal değerler olabilir. Bu değerlerle ilgili işlemler yapmak için ilk önce bunları tanıyalım.. Tabloyu inceleyin.. Değişken Türü Boyut Aralık INTEGER 2 bayt -32,768 ile 32,767 LONG INTEGER 4 bayt -2147483648 ile 2147483647 SINGLE 4 bayt 7 haneli.. DOUBLE 8 bayt 15 haneli.. STRING 1-32767 bayt Karakterler (Max. 32767) Değişken A-Z ile başlamak şartı ile Harf ve sayılardan oluşabilir. Her değişken en az bir değer belirtir. Bahsettiğimiz rakamlarla oluşanlar INTEGER, LONG INTEGER, SINGLE ve DOUBLE'dir. Eğer harf, kelime ve cümlelerden oluşan alfasayısal değerler kullanacaksak STRING türü değişkenler kullanırız. Bunlar tırnak işareti arasına alınarak yazılır. Kodlar Degisken1% = 123 Degisken2# = 14411 Degisken3$ = "Murat" Bunlar ile işlem yapmaya geçmeden önce bunların Print ile kullanımından konuşalım. Aşağıda bununla ilgili bir örnek var.. Kodlar Cevap% = 4 + 2 PRINT "4 + 2 ="; Cevap% Görünüşü 4 + 2 = 6 Yukarıdaki örnekte Cevap% değişkeninin 4 ile 2'nin toplamından ortaya çıkan sonuç olacağını söyledik. Bunu yazdırdık. PHP ile bir benzetme yapmayın çünkü burada Print "4 + 2 = Cevap%" şeklinde tırnak içinde yazamayız. Bilgisayar her tırnak işaretli değişkeni STRING görmektedir. Aşağıda bir string değerinin PRINT'te kullanımı var. Kodlar TamAd$ = "Murat Elic." PRINT TamAd$ Görünüşü Murat Elic. Bize programın getirdiği bir kolaylıkta değişken sonundaki %, #, ! gibi belirteçlerden birini kullanmamamızı sağlayabiliriz. Normalde işaretsiz olan değişkenler INTEGER değerlerdir. Siz bu durumu DEFINT , DEFSNG , DEFSTR gibi kodları programın başında kullanarak değiştirebilirsiniz. Aşağıdaki INTEGER örneğinde %'nin kullanılmadığına dikkat edin. Kodlar Not1 = 60 Not2 = 40 OrtNot = (Not1 + Not2) / 2 PRINT OrtNot Görünüşü 50 Gelelim şimdi işlem yapmaya. İlk önce sayısal değerler ile ilgili işlemler nasıl yapılır bundan bahsedelim. Sanki matematik işlemi yaparmış gibi düşünebilirsiniz. Parantez öncelikli, sonra çarpım ve bölüm ve en son toplama çıkarma işlemleri. Buna göre aşağıdaki örneği inceleyin. Kodlar d1 = 10: d2 = 20: d3 = 30: d4 = 40 dtop = (d1 d3) + d2 d3 / d1 (d4 - d1) PRINT dtop Görünüşü 3 String değerlerde birbirleriyle toplanabilmektedir. Nasıl olur? demeyin oluyor işte.. Aşağıda bununla ilgili bir örnek var. Kodlar Ad$ = "Murat" Soyad$ = "Eliçalışkan" TamAd$ = Ad$ + Space$(1) + Soyad$ PRINT TamAd$ Görünüşü Murat Eliçalışkan 3. Ders: 'Değişken İşlemlerinde Kullandığımız Fonksiyonlar' Şimdi Bu işlemler sırasında yararlanabileceğiniz bazı Fonksiyonları tanıyalım. Fonksiyonlar programın içinde varolan ve işinizi kolaylaştıran işlemlerin yapılmasıdır. Bir fonksiyon içinde diğer fonksiyonları kullanabilirsiniz. Başlangıç noktası en içte olandır.. Aşağıda bazı önemli fonksiyonları inceledim. VAL Fonksiyonu Bu fonksiyon bize bir String değeri, sayısal değere dönüştürmeyi sağlar. Aşağıdaki örneği inceleyin.. Kodlar Deger$ = "41a41bc6a1" Donusum% = Val PRINT Donusum% Görünüşü 41 STR$ Fonksiyonu Bu fonksiyon ise tam tersi sayısal bir değeri alfasayısal değere dönüştürür. Örneği inceleyin. Sonuç sayısal bir değer çıkmış gibi görünüyor değil mi? Aslında bu bir alfasayısal değerdir. Kodlar Deger% = 14412 Print Donusum$ = Str$ PRINT Donusum$ Görünüşü 14412 INT Fonksiyonu Sayısal bir değerin sadece tam sayı kısmını almak istiyorsanız bunu kullanın. Kodlar Deger = 14.311 PRINT INT Görünüşü 14 SQR Fonksiyonu Bir sayısal değerin karekökünü verir. Kodlar PRINT SQR(9) Görünüşü 3 ABS Fonksiyonu Bir sayısal değerin mutlak değerini gösterir. Kodlar PRINT ABS(-14) Görünüşü 14 LEFT$ Fonksiyonu Bir String değerinin soldan istediğimiz karakterlerini almamızı sağlar. Fonksiyonda ilgili değişkenden sonra virgül koyarak yazdığımız sayı kaçıncı karaktere kadar alınacağıdır. Kodlar Deger$ = "Murat yemek yiyor." PRINT LEFT$(Deger$, 5) Görünüşü Murat RIGHT$ Fonksiyonu Bir String değerinin bu kez sağdan istediğimiz karakterlerini almamızı sağlar. Kodlar Deger$ = "Murat yemek yiyor." PRINT RIGHT$(Deger$, 12) Görünüşü yemek yiyor. MID$ Fonksiyonu Sağdan ve Soldan almayı öğrendik. Bu fonksiyon bize bu iki fonksiyonun görevini yapacağı gibi RIGHT$ ve LEFT$ 'dan daha geniş bir fonksiyondur. Öncekilerdeki gibi ilgili değişkenden sonra virgül konarak bir değil iki sayı girilir. Bunlardan ilki kaçıncı karakterde başlayacağı, ikincisi ise kaç karakter sağa gidileceğidir. Örnek size yardımcı olacaktır. Kodlar Deger$ = "Murat yemek yiyor." PRINT RIGHT$(Deger$, 6, 5) Görünüşü yemek Öğrenmemiz gereken en önemli kodlar biri PRINT. Bu ekrana yazı yazdırma işlemi için kullanılır. PRINT'ten sonra tırnak işaretleri arasına değer yazılır. Kodlar PRINT "Merhaba" Görünüşü Merhaba Araya koyacağınız Noktalı virgül ( iki kelime ya da cümleyi bağlamak için kullanılır. Boşluklar için, boşluk belirtebileceğiniz gibi SPACE$ , SPC ya da TAB komutlarını da kullanabilirsiniz. Ne kadar boşluk verecekseniz parantez içine o sayıyı yazıyorsunuz. Kodlar PRINT "Merhaba"; SPACE$(1); "Arkadaşlar" Görünüşü Merhaba Arkadaşlar Yazıların rengini COLOR komutu ile belirleriz. Bu renkler ekranın max. renk sayısına göre 0-16, 0-255, 0-1 arasında değişebilir.. Kodlar COLOR 14 PRINT "Renk 14'te Bir Yazı.." Görünüşü Renk 14'te Bir Yazı.. Not: Dilerseniz kodlar arasında satır atlamak yerine aralarına iki nokta üstüste ( koyarak yan yana yazabilirsiniz. Fakat bu durum bazı durumlarda geçersizdir. Kodlar COLOR 14: PRINT "Renk 14'te Bir Yazı.." Görünüşü Renk 14'te Bir Yazı.. Yazıların yerleştirileceği yer de belirlenebilir. Bunun için LOCATE komutunu kullanmaktayız. Ekranın boyutuna göre satır ve sütun olarak verilen değerlerin olduğu alana yazının yerleştirilmesidir. Kodlar LOCATE 3, 1: PRINT "Başlanan Yer Satır 3 ve Sütun 1.." Görünüşü Başlanan Yer Satır 3 ve Sütun 1.. TAB Boşluklarını PRINT'te kullanmanız için virgül sizlere yardımcı olacaktır. İki kelime ya da cümle arasında kullanacağınız virgül sonraki sekmeden başla anlamı taşır. Kodlar PRINT "ADI:", "MURAT" PRINT "YAŞ:", "19" Görünüşü ADI: MURAT YAŞ: 19 PRINT USING ise bu kodu sınırlamak ya da tablolarda kullanmak için yararlanılan bir komuttur.. Aşağıdaki örneği incelerseniz değerimiz 153.25233 olmasına karşın gösterilen ondalık kesmin iki sayısıdır. PRINT USING'te kullanılan karakterlerden önemli olanlar # , ! , / / (Bknz. Qbasic 7.1 Yardım Dosyası) Kodlar PRINT USING "###.##"; 153.25233 Görünüşü 153.25 LPRINT komutu yazıcıdan yazıyı çıkarmanız için gerekli bir komut. Aşağıdaki şekilde programı çalıştırırsanız yazıcınız açık ise yazı kağıda aktarılmaya başlanacaktır. Kodlar LPRINT "Bu yazi yazicidan cikacak.." LPRINT'te en çok karşılaştığım soru farklı yazı tipleri kullanamaz mıyım? Tabi ki kullanabilirsiniz. Bunun için yazıcınızın MS-Dos uyumlu olması gerekmektedir. Yoksa standart olan yazı ile çıkarılacaktır. Kendi FONT dosyalarınızı yaratarak da farklı yazı tipleri kullanabilirsiniz. Kodlar PRINT "Merhaba" 'buraya açıklama yazabiliriz.. Kodlar REM Veya buraya da açıklamalar yazabiliriz.. Gelişmiş dos programlarını Turbo Pascal kullanarak yapabilirsiniz. Bu C/C++ dilini kullandırmaktadır. Yoksa Qbasic günümüzde sadece oyun yapımında ya da Basic'e başlangıçta temel bilgilerin alınmasında kullanılmaktadır. Varsayalım program yaratıyorsunuz ve kaynak kodunuza açıklama eklemeniz gerekiyor. Bu durumda REM komutunu ya da Üst ayracı kullanabilirsiniz. Bu ekranda görüntülenmeyecektir. Ders 1. Burada bitti. Bu derste PRINT, COLOR, LOCATE, PRINT USING, LPRINT ve REM'i inceledik. 3. Ders: 'Değişken İşlemlerinde Kullandığımız Fonksiyonlar'Şimdi Bu işlemler sırasında yararlanabileceğiniz bazı Fonksiyonları tanıyalım. Fonksiyonlar programın içinde varolan ve işinizi kolaylaştıran işlemlerin yapılmasıdır. Bir fonksiyon içinde diğer fonksiyonları kullanabilirsiniz. Başlangıç noktası en içte olandır.. Aşağıda bazı önemli fonksiyonları inceledim. VAL Fonksiyonu Bu fonksiyon bize bir String değeri, sayısal değere dönüştürmeyi sağlar. Aşağıdaki örneği inceleyin.. Kodlar Deger$ = "41a41bc6a1" Donusum% = Val PRINT Donusum% Görünüşü 41 STR$ Fonksiyonu Bu fonksiyon ise tam tersi sayısal bir değeri alfasayısal değere dönüştürür. Örneği inceleyin. Sonuç sayısal bir değer çıkmış gibi görünüyor değil mi? Aslında bu bir alfasayısal değerdir. Kodlar Deger% = 14412 Print Donusum$ = Str$ PRINT Donusum$ Görünüşü 14412 INT Fonksiyonu Sayısal bir değerin sadece tam sayı kısmını almak istiyorsanız bunu kullanın. Kodlar Deger = 14.311 PRINT INT Görünüşü 14 SQR Fonksiyonu Bir sayısal değerin karekökünü verir. Kodlar PRINT SQR(9) Görünüşü 3 ABS Fonksiyonu Bir sayısal değerin mutlak değerini gösterir. Kodlar PRINT ABS(-14) Görünüşü 14 LEFT$ Fonksiyonu Bir String değerinin soldan istediğimiz karakterlerini almamızı sağlar. Fonksiyonda ilgili değişkenden sonra virgül koyarak yazdığımız sayı kaçıncı karaktere kadar alınacağıdır. Kodlar Deger$ = "Murat yemek yiyor." PRINT LEFT$(Deger$, 5) Görünüşü Murat RIGHT$ Fonksiyonu Bir String değerinin bu kez sağdan istediğimiz karakterlerini almamızı sağlar. Kodlar Deger$ = "Murat yemek yiyor." PRINT RIGHT$(Deger$, 12) Görünüşü yemek yiyor. MID$ Fonksiyonu Sağdan ve Soldan almayı öğrendik. Bu fonksiyon bize bu iki fonksiyonun görevini yapacağı gibi RIGHT$ ve LEFT$ 'dan daha geniş bir fonksiyondur. Öncekilerdeki gibi ilgili değişkenden sonra virgül konarak bir değil iki sayı girilir. Bunlardan ilki kaçıncı karakterde başlayacağı, ikincisi ise kaç karakter sağa gidileceğidir. Örnek size yardımcı olacaktır. Kodlar Deger$ = "Murat yemek yiyor." PRINT RIGHT$(Deger$, 6, 5) Görünüşü yemek 4. Ders: 'Formların Kullanımı' Kullanıcıdan bilgi almak, bilgileri karşılaştırmak ve sonuçlara göre yapacağı işlevleri belirlemek bu derste öğreneceklerimiz. INPUT Kullanıcıdan bilgi almak için INPUT komutunu kullanırız. Burada kullanıcının girdiği bilgi, değişkenimize aktarılmaktadır. Örneği inceleyin.. Kodlar INPUT "Yaşınız Kaç? "; Yas% Görünüşü Yaşınız Kaç? ? Kalemimiz yazının hemen sonunda bulunmakta. Bunları diğer değişkenlerle hizalamak için kullanabiliriz . Dikkat edilirse INPUT'dan sonra isteğin belirtildiği tırnak işaretlerinden sonra bir değişken geliyor. Burada sayısal değerler için INTEGER, alfasayısal değerler için STRING kullanılmalıdır. Eğer sayısal bir değer isteniyor fakat alfasayısal değer giriliyorsa aşağıdaki hatayı verir ve sizden tekrar değer girmenizi ister. Görünüşü REDO FROM START? INPUT için isteneni bu komutun içinde belirtmeyebilir ve INPUT "", Degisken şeklinde kullanabilir ve isteneni kendiniz belirtebilirsiniz. Aynı zamanda LOCATE, COLOR gibi kodlarda INPUT'dan önce kullanılarak INPUT mesajını şekillendirebilirsiniz. Örneğin: Kodlar COLOR 10: LOCATE 2, 3 INPUT "Bir Sayı Girin:"; Deger Görünüşü Bir Sayı Girin: ? INPUT$ Fonksiyonu Bu komut, değişken için kullanıcıdan istediğiniz karakter sayısınca bilgi almanızı sağlar. Parantez içine kaç karakter istendiği yazılır. Kodlar A$ = INPUT$(1) Bu kullanıcıyı bekletmek için kullanılan bir yol olarak da bilinir. Böylece bilgi ekranı kapanmayacak ve kullanıcının herhangi bir tuşa basması istenecektir. Örnek bir Kullanım kullanıcıdan E veya H harflerinden birisine basmanız durumunda yapacaklarının belirtilmesidir. Bunun için IF.. THEN ile DO.. LOOP ve FOR.. döngülerini anlatmamız gerekiyor. Aşağıdan itibaren bu konuları bulabilirsiniz. Etiketler Normalde okullarda ve üniversitelerde, qbasic kitaplarında her satır bir sayı ile isimlendirilir. Ve aşağıdaki şekilde uzar gider.. Kodlar 10 SCREEN 13 20 RANDOMIZE TIMER 30 END Bu şekilde yapılması işin bilimsel yanı da olsa, sizlere kolaylık olması açısından bu yolu değil etiketleri adlandırdığınız ve bunun dışında sayılardan oluşmayan daha kolay bir etiket yönetimi öğretmek istiyoruz. Kodlar SCREEN 13 RANDOMIZE TIMER Baslat: END GOTO Etiket Anlamı gitmek olan bu komut programı belirtilmiş bir etikete yönlendirmek için kullanılır. Aşağıda GOTO Bitir dediğimizden itibaren bilgisayar etikete gider ve aşağıdaki satırları okumaz. Kodlar Baslat: GOTO Bitir Print "Merhaba!" Bitir: END Görünüşü IF... THEN Değişkenlerin durumları istediğimiz gibi ise, sayısal değer bakımından büyük, küçük ya da eşitse veya tam tersi ise gerçekleşmesi gerekenleri belirttiğimiz EĞER... İSE anlamına gelen komuttur. Burada kullanılan operatörler aşağıda tablolanmıştır. Operatör Boyut Aralık = Eşitse > Büyükse < Küçükse <= Küçükse ya da eşitse => Büyükse ya da eşitse <> Eşit değilse AND.. ve.. OR.. veya.. XOR.. biri doğru biri yanlışsa.. Önermenin gerçekleşmesi için birden fazla şart olmalıysa VE anlamına gelen AND, ikisinden biri olmalıysa VEYA anlamına gelen OR kullanılır. ELSE ise önerme yanlış ise gerçekleşecek olaydır. Ayrıca bir de XOR var, bu önermelerden ikiside doğru veya ikiside yanlışsa önermenin geçersiz olduğunu, bir yanlış bir doğru ise geçerli olduğunu anlatır. Aşağıda bir örnek var. Örnekteki temel şart A'nın 14 ve B'nin 10 olmasıdır . İkisinden biri bu kurala uymazsa Baslat etiketine yönlendiriliyor.. Kodlar Baslat: A = 14: B = 10 IF A = 14 AND B = 10 THEN GOTO Bitir ELSE GOTO Baslat Bitir: END Aşağıdaki örnek ise bir 'VEYA' örneği. Burada B değerini değiştirdik ve kriterlerden birini bozduk. Buna rağmen önerme geçerli olacaktır. Çünkü bizden ikisinden birinin istenilen olmasını istiyor. Ve A değeri bunu sağlıyor.. Kodlar Baslat: A = 14: B = 14 IF A = 14 OR B = 10 THEN GOTO Bitir ELSE GOTO Baslat Bitir: END Aşağıda daha kompleks bir örnek var. THEN belli bir noktada bitiyor. Bilgisayara THEN'in sonunu END IF ile anlatıyoruz. Aşağıdaki programda asıl mantık C'nin istenenden fazla ya da az olması durumunda bu sayıdan 1 eksilterek ya da arttırarak eşitleme ve eşitledikten sonra programı bitirmek. Dikkat ederseniz bu IF içinde IF kullanımına bir örnek oluyor aynı zamanda. Yalnız bunların yerleştirilmesine çok dikkat etmelisiniz. Bu aynı Ana yollar ile Tali yollar arasındaki fark gibi olmalı. Kodlar A = 10: B = 14: C = 15 Baslat: IF (A = 14 OR B = 10) AND C = 5 THEN GOTO Bitir ELSE IF C < 5 THEN C = C + 1 ELSE C = C - 1 GOTO Baslat END IF Bitir: END INPUT$ fonksiyonunda Evet ve Hayır'ı kullanmaktan bahsetmiştik, şimdi uygulama zamanı: Örnekte E harfine basmadığınız sürece programda kalıyorsunuz. Kodlar Baslat: Print "Programı Kapatacak mısınız? " Cevap$ = INPUT$(1) IF Cevap$ = "E" or Cevap$ = "e" THEN GOTO Bitir ELSE Goto Baslat Bitir: END Dilerim konuyu iyi anlatabilmişimdir. Çünkü bu IF.. THEN çok yerde kullanılır .. Daha sonra tekrar IF.. THEN komutuna döneceğiz. FOR.. NEXT Belirtilen aralıklarda bir değeri değiştirerek kodların tekrarını sağlar. Bir işlevi, defalarca uygulamanın en güzel yolu. Bilgisayar FOR görünce, FOR'dan sonraki değişkenin değerini 1 TO 3 için konuşursak 1, 2, 3 şeklinde değiştirir ve uygulamaya devam eder. Kodlar FOR i = 1 to 5 PRINT i NEXT i Görünüşü 1 2 3 4 5 FOR degisken 0 to 100 STEP 2 şeklinde kullanırsak, bilgisayar 2'şer atlayarak değişkeni değiştirecektir. Bu durumda 'degisken' değeri 0,2,4,6...98,100 şeklinde gidecektir. Bu komut özellikle ARRAY değişkenlerinde büyük kolaylık sağlar. DO.. LOOP DO.. LOOP, For'dan daha farklıdır. DO ile LOOP arasında aksi belirtilmediği sürece sürekli gider. Aşağıdaki örnek çalıştırılırsa eğer sayıların bir artarak ekranda aktığı görülür ve bu herhangi bir tuş ile durdurulmaz. Ama Qbasic'in CTRL + PAUSE tuşunu kullanarak kodlar bölümüne geri dönebilirsiniz. Kodlar DO a = a + 1 PRINT a LOOP Görünüşü 1 2 3 4 5... Yukardaki örnek sadece işlevini anlatmak içindi. Tabi DO.. LOOP arasına birçok kod gelebilir ve bunlar IF.. THEN ile belirtilmiş olabilir. Aşağıdaki örnekte 3. döngüden sonra a, 3 değerini alacak ve EXIT DO ile DO'dan çıkıp LOOP'un altına geçecektir. Kodlar DO a = a + 1 IF a = 5 THEN EXIT DO PRINT a LOOP Görünüşü 1 2 3 4 5 Bu işlemi DO UNTIL ya da LOOP UNTIL kullanarak yapabiliriz. Bu 'olana kadar' anlamı taşımaktadır. Aşağıdaki örnek yukardakinin UNTIL kullanılmış şeklidir. A, 5 değerini alınca yine DO-LOOP'dan çıkılır. Kodlar DO UNTIL a = 5 a = a + 1 PRINT a LOOP Görünüşü 1 2 3 4 5

kullanmanın zamanı geldi. Şimdi kayıtları yerleştirme zamanı! Aşağıdaki örnekte sürekli Ad ve Yaş isteyecek sizden. Her bilgi verdiğinizde bunu kayıt nosuna ekleyecek ve tekrar diye soracak. Evet dediğiniz sürece kayıt büyüyecektir.. Kodlar TYPE TestRecord Ad As String 20 Yas As INTEGER END TYPE DIM Veri As TestRecord OPEN "Data. Dat" FOR RANDOM AS