Sayfa 2 / 3 İlkİlk 123 SonSon
28 sonuçtan 11 - 20 arası sonuçlar
  1. #11

    Varsayılan

    Ses efektleri

    Gw-basic ile programlarımıza sesli ikazlar ekleyebiliriz.

    Kod:
    beep
    Bu kodu çalıştırdığımızda bib diye bir ses duyarız.

    Kod:
    10 for x = 1 to 10
    20 beep
    30 next x
    Şimdi uzun bir bib sesi duyacağız.

    Kod:
    10 for x = 1 to 10
    20 print "bib"
    30 if x = 10 then beep
    40 next x
    imdi On'uncu kez bib yazıldığında, bir bib sesi duyacağız.

    Kod:
    10 for x = 1 to 10
    20 print "biiiip"
    30 beep
    35 gosub 60
    40 next x
    50 end
    60 rem Bekletme
    70 for y = 1 to 3000
    80 next y
    90 return
    Şimdi ise on kez kesik bib'ler duyacağız. Son satırlardaki "GOSUB" ve RETURN" kalıbında gördüğünüz "FOR" dögüsü alında görünen bir işlem yapmıyor. İşlevi ise işlemciyi kısa süreliğine meşgul ederek, devam eden işlemler arasında bir bekleme süresi manipulasyonu (kandırmacası) eklemek.

    Gw-basic, bib'lemenin ötesinde de sesli efektler destekler.

    Kod:
    sound 100,100
    Bunu bir deneyin.

    Kod:
    sound 100,10
    Bir de bunu deneyin.

    Kod:
    sound 100,5
    bunu da deneyin.

    Kod:
    sound 200,5
    Ve bunu.

    Kod:
    sound 300,5
    Ve bunu da.

    Kod:
    sound 400,5
    Ve tabii bunu da.

    Kod:
    sound 500,5
    Aradaki farklardan hangi rakamın ne işe yaradığını çözebildinizmi ?

    "SOUND" koduna eklenen ilk rakam ses fekans'ını temsil eder. Virgül ile ayrılmış olarak eklenen ikinci rakam ise ses süresini temsil eder.

    Kod:
    10 sound 100,10
    20 sound 150,5
    30 sound 100,10
    40 sound 250,5
    50 sound 100,10
    Şimdi kısa bir melodi bestelemiş olduk. (Müzik piyasasında listelerin altını üstüne getirecek bir parça lamayacağı kesin)

    Gw-basic'in melodileri bir Orkestranın yerini alabilecek seviyede olmasalarda, kısa oyun melodileri besteleyebilmek için yeterlidirler.
    En son oasman tarafından düzenlenmiştir: 29.11.2013 22:08

  2. #12

    Varsayılan

    Grafikler

    Gw-basic grafik çizimlerinide destekler. Ancak bunun için ekran modunu değiştirmemiz gerekiyor.
    Gw-basic 7 farklı ekran modunu destekler.Varsayılan (ilk açıldığında kullanılan) ve bizim şu ana kadar kullandığımız mod "SCREEN 0" modu oluyor.

    Ekran modları:

    screen 0 : Metin ve renk destekler. Soldan sağa 80 harf ve yukarıdan aşağı 25 satır, veya 40 harf (40 sütun) ve 25 satır destekler. Ekran desteğindeki değişmeler, diğer ekran modlarından "SCREEN 0" moduna geri dönüşe bağlı olarak, diğer (önceki) ekrandan devir alınmaya bağlı.

    screen 1 : Metin, renk ve grafikleri düşük çözünürlükte destekler (yazılar büyük görünür) Çözünürlük 320 x 200 piksel ve karakter (harf) desteği 80 sütun 25 satır.
    Renk tanıtımında ilk rakam ("COLOR 2,1") arkaplan rengini belirler (öğrendiğimizin tersi olarak) ve harf veya çizim rengi sadece belirli renkler arasında değişir. sadece "COLOR 2" olarakta renk belirtebilirsiniz ve arka plan rengi değişirken, karakterler var sayılan olarak beyaz kalır veya turuncu olarak değiştirilebilir.

    screen 2 : Metın, renk ve grafıkler destekler. Çözünürlük 640 x 200 piksel, karakter desteği 40 sütun, 25 satır (Harfler büyük). Renkler "COLOR" yerine "PALETTE 0" veya "PALETTE 1" ile belirlenir. ve sadece iki yazı veya çizim rengi arasında seçim yapılabilmiş olur. "PALETTE 0,2" örneğinde beyaz yazı ve yeşil arkaplan seçilmiş olur. İkinci rakam arkaplan rengini belirler.

    screen 7 : Metin, renk ve grafik destekler, çözünürlük 320 x 200 ve karakter desteği 40 x 25. Renler bildiğimiz gibi "COLOR 1,6" şeklinde belirlenir ve ilk rakam karakter rengi ve ikinci rakam arkaplan rengini belirler. Karakter rengi olarak "siyah" seçilemez. Bunlar renk numarası olarak 0,8,16 rakamları oluyorlar.

    screen 8 : "screen 7" ile aynı özelliler ve çözünürlük olarak 640 x 200 ve de karakter desteği olarak 80 x 25

    screen 9 : Metin, renk ve grafik detekler ve yüksek çözünürlük. Yazılar küçük görünür.
    Çözünürlük desteği 640 x 350 ve karakter desteği olarak 80 x 25 destekler. "screen 7" ve "screen 8" de olduğu gibi, karakter/çizim rengi olarak siyah rank seçiminde hata verir.

    screen 10 : "screen 0" (varsayılan) ile eşdeğer, (Metin ve renk) ancak çözünürlük daha yüksek.

    Örneler:

    Kod:
    10 key off
    20 cls
    30 scren 1
    40 color 2,4
    50 cırcle(100,100),50
    10 numaralı satırdaki "KEY OFF" komutu, ekranın altıdaki kısayol tuşlarının bulunduğu şeridi kaldırır. Tekrar görüntülenmesini isterseniz "KEY ON" komutu ile geri getirebilirsiniz.
    20 numaralı satırdaki kodumuz ile ekranı tamamen temizliyoruz ve 30 numaralı satır ile "SCREEN 1" kodunu kullanarak, grafik destekleyen bir ekran moduna geçiyoruz. 40 numaralı satırda, kullannacağımız arkaplan ve yazı veya grafik renklerini seçiyoruz ve son taırımızda "CIRCLE" kodu ile bir daire çizeceğimizi belirtiyoruz. Parantez içindeki rakamlar, dairenin merkezinin x ve y koordinatları oluyorlar. Bunlar, soldan sağa (x) 100 piksel ve yukarıdan aşağıya (y) 100 piksel çizildiğinde, çizimlerin birleşme noktanın, dairemizin merkezini teşkil ettiini belirler. Parantezler dışında kalan ve bir virgül ile ayrılan sonrakam ise dairenin yarı çapını belirler. Dairemizin tam çapı, bu durumda 100 piksel yapıyor.

    Kod:
    10 cls
    20 key off
    30 screen 1
    40 color 3,6
    50 line (0,0)-(400,400)
    Bu örnekte, son satır "LINE" kodu ile bir çizginin çizileceğini belirtir. İlk parantezler içindeki "0,0" rakamları, başlangıç noktasını belirtirler. sol üst köşeden 0 piksel sağa ve yine sol üst köşeden 0 piksel aşağına olarak belirtilen başlangıç noktası (sol üst köşe oluyor) ve buradan başlayarak çizilen çizgi, ikinci parabtealer içinde belirtilen noktada sona eriyorlar. Bitiş noktasıda yine sol üst köşeden 400 piksel sağa ve üstten 400 piksel aşağıya inildiğinde (ekranımızın dışında bir nokta) iki çizimim birleştiği nokta oluyor.

    Kod:
    10 cls
    20 key off
    30 screen 1
    40 color 3,6
    50 line(0,0)-(320,200)
    Bu örnekte ise, çizim sol üst köşede başlıyor ve sağ alt köşede bitiyor. Bu rakamlar, "SCREEN 1" ekranının çözünürlüğünü belirtiyorlar.

    Kod:
    10 screen 1
    20 key off
    30 cls
    40 color 16,14
    50 lıne(50,50)-(200,150),,b

    50 nolu satırda "LINE" koduna bu sefer ek parametreler ekledik. Dikkat ederseniz, ikinci parantezler ardına, iki virgül ve bir de "b" harfini ekledik. İlk virgül, eklenebilecek bir başka parantmetrenin sırasını atladığımızın belirtisi oluyor. Son eklen "b" harfi ise "BOX"un (Türkçe kutu) kısaltması (box kullanamıyoruz) ve bu durumda, sol üst köşeden 50 sağa ve 50 aşağıya (parantezler içinde belirtildiği gibi) başlamak üzere ve sağ alt köşede, sağ alt köşesi bulunan bir dikdörtgen çizmiş oluyoruz.

    Kod:
    10 screen 1
    20 cls
    30 key off
    40 color 16,14
    50 lıne(50,50)-(200-150),2,bf
    Burada, daha önceki eksik bıraktığımız parametreyide doldurduk ve bu parametre yine bir rank numarası oluyor ve son eklememiz olan "b" parametresini "bf" ile değiştirdik. "bf" in anlamı ise içi boaynmış dikdörtgen. Eklediğimiz renk numarası ise, dikdörtgenimizin içini dolduracak renk seçeneği oluyor.

    Kod:
    10 screen 9
    20 cls
    30 key off
    40 color 3,6
    50 lıne(50,50)-(200,150),1,bf
    Bu sefer "SCREEN 9" ekranını kullanıyoruz. Çizdiğimiz dikdörtgen ve yazılar çok daha küçük görünüyorlar.

    Bir üçgen çizelim.

    Kod:
    10 cls
    20 key off
    30 screen 1
    40 color 2
    50 line(100,100)-(50,150)
    60 line(50,150)-(150,150)
    70 line(150,150)-(100,100)
    Daireler.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 color 2,1
    50 for x = 100 to 500 step 100
    60 for y = 100 to 300 step 100
    70 circle(x,y),50
    80 next y
    90 next x
    Renkli daireler.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 color 2,0
    50 for x = 100 to 500 step 100
    60 for y = 100 to 300 step 100
    65 color x/100
    70 circle(x,y),50
    80 next y
    90 next x
    Renkli kutucuklar.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 for x = 0 to 640 step 64
    50 for y = 0 to 350 step 35
    60 color 1,0
    70 line(x,y)-(x+60,y+33),int(rnd(1)*6)+1,bf
    80 next y
    90 next x
    tek bir nokta.

    Kod:
    screen 7
    pset(50,50)
    Renkli nokta.

    Kod:
    pset(100,100),1
    Noktalar ile çizim (bitişik noktalar)

    Kod:
    10 for nokta = 1 to 200
    20 pset(nokta,100),2
    30 pset(100,nokta),5
    40 next nokta
    "PSET" ile grafik destekleyen ekranlarda bir piksellik noktalar koyabilirsiniz. Bu noktaları, boyutları çok küçük olduğunda, ekranda görebilmek bazen zor olabiliyor. Böylelikle, bir pikselin boyutunuda görmüş oluyoruz.

    Elips çizelim.

    Daha önce çizdiğimiz dairemize (küremize) dikkatlice baktığınızda, aslında hafif olarak yanlara yatsı olduğunu fark edersiniz. Aslında hafif bir elips dir.

    Kod:
    10 screen 1
    20 cls
    30 key off
    40 palette 0,2
    50 cırcle(100,100),50,1,,,2
    Bu örneğimiz bir dikey elips çizer. Bu çizim şeklinde etkin olan ise, 50 numaralı satırın son parametresi olan 2 rakamıdır. İki rakamından önce eklediğimiz üç virgül ise, sırası daha önce gelen bazı kullanmak istemediğimiz parametreleri atladığımızı hatırlatır. Hemen 50 rakamından sonra eklediğimiz 1 rakamı ise, dairenin çizileceği rengi belirler.

    Biz 50 nolu satırdaki son parametre olan 2 rakamını şimdi biraz değiştirelim.

    Kod:
    edit 50
    Bu komut bizi 50 nolu satırın en başına atlatır (50 nulu satır listelenir) ve imleç 50 nolu satırda yanıp söner. Yön oklarını kullanarak satırın son rakamı olan 2 üzerine kadar gidelim ve 2 rakamını 1 ile değiştirelim. Ardından enter (başlat) tuşuna basarak, değişikliği kayıt edelim ve f2 kısayol tuşuna basarak, programımızı başlatalım. Şimdi tam bir dairamiz oldu.

    Son rakamı daha yüksek bir rakam ile değiştirirsek, daha dikey (dar) bir elips'imiz olur. Son rakam olarak eksi (-) rakamlar kullanıldığında, 1 kullanmış ile eşdeğer olur. 0 (sıfır) kullandığımızda ise, yatay bir çift çizgimiz olur. 0.5 veya benzer rakamlar kullandığımızda, yatay bir elips'imiz olur.

    Ek olarak belirteyim. "COLOR" yerine "PALETTE" "screen 2" dışındaki grafik destekleyen ekranlardada kullanılabilir. Ancak ilk rakam yazı rengini belirler ve çizimler için renk belirmek, kodlara eklenen parametrelerde yapılır.


    Kod:
    10 screen 1
    20 cls
    30 key off
    40 palette 0,2
    50 cırcle(100,100),50,1,2,,2
    Elips'imizde küçük bir değişiklik yaptık ve 50 nolu satırdaki boş bıraktığımız parametrelerden ilkini 2 rakamı ile doldurduk. Programı başlattığımızda, elips'imizin bir köşesi yok olmuş (silinmiş)

    Kod:
    edit 50
    komutu ile biz bu yeni parametreyi 1 olarak değiştirelim ve aşağıdaki gibi bir sonuç alalım

    Kod:
    10 screen 1
    20 cls
    30 key off
    40 palette 0,2
    50 cırcle(100,100),50,1,1,,2

    Göreceğimiz sonuç ise, silinen bölümün boyutu değişmiş oldu (küçüldü). Üç rakamı ile değişmiş olsaydık, elips'sin (ve tabii küre'dede aynısı) üst yrıdı giderdi. Dört ile dahada fazlası giderdi.

    Kod:
    10 screen 1
    20 cls
    30 key off
    40 palette 0,2
    50 cırcle(100,100),50,1,2,4,2
    Bu düzeltmede ise tüm eksik parametreleri doldurduk ve çalıştırdığımızda, sadece sağ tarafte eyik bir çizgi bulacağız. 50 nolu satırın son dan 3. ve 2. parametreleri, elipsin veya kürenin üst ve alt bölümlerinden bir kısmını silmeye yararlar. Bu şekilde farklı derecelerde eyik çizimler yapabilmemiz sağlanır.
    En son oasman tarafından düzenlenmiştir: 02.12.2013 18:21 Sebep: İlave örnekler eklendi

  3. #13

    Varsayılan

    Boyama işlemleri

    Kod:
    10 screen 9
    20 cls
    30 key off
    40 color 2,0
    50 cırcle(100,100),50,5,,,1
    "SCREEN 9" ekranımızda, çizimler daha keskin ve net görünürler. bunun nedeni ise çözünürlüğün daha yüksek olmasından kaynaklanır.

    Şimdi dairemizin içini dolduralım.

    Kod:
    10 screen 9
    20 cls
    30 key off
    40 color 2,0
    50 cırcle(100,100),50,5,,,1
    60 paint(100,100),5
    Örneğimizin sonuna eklediğimiz yeni satır ile kullandığımız "PAINT" kodu, paranteler içinde belirlenen alanı veya bölümü, parantezler dışında, bir virgül ile ayırılmış olarak eklenen renk numarasının belirlediği renge boyar. MSPaint programındaki "doldur" butonunun işlevini yapar.
    x ve y parametrelerinin belirlediği nokta, bir çizimin (çizginin) üstüne denk gelmemesi gerekiyor.

    imdi aynı boyama işlemini, bir de bir üçgen alan için yapalım.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 color 2,0
    50 line(200,100)-(50,150)
    60 line(50,150)-(350,250)
    70 line(350,250)-(200,100)
    80 paınt(200,200)
    Bu örnekte "PAINT" satırında bir renk belirtmedik. bu durumda, varsayılan karakter ve çizim rengi, üçgenin içini doldurmak için seçilecektir. "PAIN" kodu ile noktalanan alan çizilmiş alanın dışındaysa, dış alan boyanır ve çizilmiş alan (bu durumda üçgenimiz) art alan renginde (bu durumda siyah) kalır. Hemen deneyelim.


    Kod:
    10 cls
    20 key off
    30 screen 9
    40 color 2,0
    50 line(200,100)-(50,150)
    60 line(50,150)-(350,250)
    70 line(350,250)-(200,100)
    80 paınt(10,10)
    Daha önceki örneklerimizden, bir tarafı açık kalmış elipsler gibi, kapalı olamayan bir çizimi boyamak istediğimizde, bmyama işlemi tüm ekrana dağılacaktır. Tıpkı MSPaint programında, "doldur" (fill) komutunda (butonunda) olduğu gibi.

    Çok renkli boyama örneği.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 for x = 175 to 25 step -25
    50 circle(320,175),x,x/25,,,1
    60 paint(320,175),x/25
    70 next x
    Bu örnekte dıştan içe daireler çiiliyor ve daireler farklı renkler ile boyanıyor. Dairelerin çizildiği renk ile boyama rengi birbirini aynı olmalıdır. Aksi durumda boyama işlemi daire dışına taşar.
    En son oasman tarafından düzenlenmiştir: 02.12.2013 23:42

  4. #14

    Varsayılan

    Hareketli programlar

    Programlarımızı hareketlendirelim. Bunu yapabilmek için en önemli tekniğimiz döngülerdir.

    Kod:
    10 for x = 1 to 20
    20 print "Merhaba"
    30 next x
    Bu kodlar ile ard arda, aşağıya doğru sıralanmış olarak 20 satır "Merhaba" yazdırdık. Biz bu işlemi 20 satır ard arda yazdırmak yerine, yazıya hareket kazandıracak şekilde yapmak istesek, ilk yazılanları silerek, bir hareket varmış kandırmacası yaratabiliriz. Buna "manipulasyon" denir.

    Hemen deneyelim.

    Kod:
    10 for x = 1 to 20
    15 cls
    20 print "Merhaba"
    30 next x
    Bu şekilde denediğimizde, "CLS" ile tüm ekran silindiğinden, yazımız ard arda en üst satırda hızlı bir şekilde yazılıyor. Başka bir çözüm bulmamız gerekiyor.

    [CODE10 locate 20,1
    20 print "Merhaba"[/CODE]

    Bu kodlar ile ise, tüm satırlrı atlayıp, 20. satırda birinci sütunda başlamak üzere "Merhaba" yazdırabildik. "LOCATE" ile harf karakteri boyutundan, ekranımızın alanını adresleyebiliyoruz.
    ilk rakam satır sayısını belirler ve ikinci rakam ise kaçıncı sıradan yazılmaya başlanacağını belirler.

    Şimdi biz bu yeni yötemi bir hareket görüntüsü yaratmak için kullanalım.

    Kod:
    10 for x =1 to 20
    20 cls
    30 locate x,1
    40 print "Merhaba"
    50 next x
    Kodlarımız bu şekli ile aslında istediğimiz işlemi yerine getiriyorlar, ancak işlem çok hızlı bir şekilde gerçekleştiği için, biz sadece 20. satırdaki "Merhaba" yazısını okuyabiliyoruz. Şimdi işlemi biraz yavaşlatalım.

    Kod:
    10 for x = 1 to 20
    20 cls
    30 locate x,1
    40 print "Merhaba"
    45 gosub 70
    50 next x
    60 end
    70 for y = 1 to 1500
    80 next y
    90 return
    45 nolu satıra eklediğimiz "GOSUB" yönlendirmesi ile ve 70 nolu satırda başlayan "y" döngüsü işlemciyi meşgul ederek, işlemi yavaşlatıyor ve biz "Merhaba" yazsının nasıl adım adım aşağıya doğru kaydığını izleyebiliyoruz.

    Bir de yana kayan bir yazı görüntüsü yaratmayı deneyelim.

    Kod:
    10 for x - 1 to 20
    20 cls
    30 locate x,1
    40 print "Merhaba"
    45 gosub 70
    50 next x
    60 end
    70 for y = 1 to 1500
    80 next x
    90 return
    Şimdi bir de renklendirelim.

    Kod:
    5 color 4
    10 for x - 1 to 20
    20 cls
    30 locate x,1
    40 print "Merhaba"
    45 gosub 70
    50 next x
    60 end
    70 for y = 1 to 1500
    80 next x
    90 return
    Arka zeminide renklendirelim.

    Kod:
    5 color 5,1
    10 for x - 1 to 20
    20 cls
    30 locate x,1
    40 print "Merhaba"
    45 gosub 70
    50 next x
    60 end
    70 for y = 1 to 1500
    80 next x
    90 return
    Aynı şekilde, grafik destekleyen ekran modunda, çizim veya şekillerimizide hareketlendirebiliriz.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 for x = 640 to 0 step -5
    50 cls
    60 circle(x,150),50,4,,,1
    70 paint(x,150),4
    80 next x
    Bu örneğimizde 50 nolu satırdaki ikinci "CLS" kodunu kullanmadığımız durumda, uzun ve kalın bir çizgi ekrana çizilir. Aynı şekilde, önceki diğer örneklerimizdede yazımızın sürekli tekrarlandığı gibi. Grafiklerin çizilmesi ve bir de içilerinin boyanması zaten işlemi (işlemciyi) yavailattığından dolayı, bu örnekte işlemimizi yavaşlatacak her hangi bir önlem almamıza gerek yok. Bu örneğimizde ve diğer grafiklerin işlendiği örneklerde, işlemin hızlanması veya yavaşlatılabilmesi için 40 nolu satırın son parametresindeki rakam ile oynayabilirsiniz.

    Biraz, daha zorlayıcı bir örnek inceleyelim.

    Kod:
    10 cls
    20 key off
    30 screen 9
    40 x = 1
    50 whıle x > 0
    60 x = x + 1
    70 if inkey$ = "d" then goto 200
    80 if x > 30 then goto 130
    90 circle(320,175),100,4,,,x
    100 paint(320,175),4
    110 cls
    120 wend
    130 while x > 0
    140 x = x - 1
    150 if x = 1 then goto 50
    160 circle(320,175),100,14,,,x
    170 paint(320,175),14
    180 cls
    190 wend
    200 end
    Bu örekte 2 ayrı "WHILE" ve "WEND" döngüsünü ard arda kullanıyoruz ve sonsuz bir işlem başlatıyoruz. Bir tarafı sarı ve diğer tarafı kırmızı ve dönen bir daire şekilli levhayı taklit ediyoruz. Bu tür programlara "Simulasyon" denir. Programdan çıkmak istediğimizde,70 nolu satırdaki "IF" kalıbımız ile birlikte kullandığımız "INKEY$" kodunun yaptığı işlemden faydalanıyoruz. "INKEY$" kodu, daha önce öğrendiğimiz "INPUT" kodu ile neredeyse aynı işlemi yapar. Aradaki fark ise şu oluyor, "INPUT" ile programımıza kelimeler veya tam bir satır ekleyebilirken, "INKEY$" kodu,klavyeden sadece tek bir harf kabul ediyor. Bu örneğimizde, "d" harfini girdiğimizde, program 200 nolu satıra yönlendiriliyor. 200 nolu satırda kullandığımız kod ise "END" Programı sonlandırıyor. Programı sonlandırmak için sadece küçük "d" harfi bizden isteniyor. Büyük "D"harfini veya herhangi bir harf girmemiz durumunda, program hiç bir yanıt vermiyor.

  5. Varsayılan

    Uğraşıp bir sürü emek vermişsin. Yanlış hatırlamıyorsam GWbasic, basic dillerinin atası yani bildiğimiz anlamda Windows'un olmadığı zamanlardan <taş devrinden> kalma bir dil. Windows'ta çalışmasını sağlayan emulator olabilir fakat bu dille günümüzde kullanışlı birşeyler yapmak mümkün mü? Kullanışlıdan kastım Excel'de bile yapılabilen şeyler değil, bildiğin üzere Excel'in kabiliyetlerinden öteye gidemeyen pek çok dil tarih oldu.

  6. #16

    Varsayılan

    32 bit tüm Windows'larda ve Windowsxp mode kurulu olan 64 bit Windows 7'de doğrudan çalışıyor. (Win 8 de doğrudan desteklemiyor olabilir, bilgim yok) Exel'in içindede Macro'lar için kullanılan bir gömülü Visual Basic derleyicisi (yorumlayıcı) bulunuyor. Dosya uzantısı .vba (Visual Basic Application) ve Macro'ları sadece Exel içinde çalışır. VB ve Gwbasic arasındaki farklar, benzerliklerinden daha fazla. Aynı şey değiller. Exel bir program ve belirlenen bir işlevi var. GW-basic ise bir derleyici (yorumlayıcı) ve işlevleri üretir. Üstelik flash belleğinize kopyalayıp her hangi bir bilgisayara takarakta çalıştırabilirsiniz. Kurulum gerektirmiyor. Netframework gerektirmiyor, Java gerektirmiyor. Exel veri/hesap tablolarını çalıştırabilmek için, Bilgisayrınızda MS Office kurulu olması gerekiyr. Ancak Gw-basic programlarını derleyicisi ile birlikte yayınlamak veya dağıtmak, resmi olarak Microsoft'un iznini gerektirir.
    En son oasman tarafından düzenlenmiştir: 05.12.2013 19:15

  7. #17

    Varsayılan

    Kelimelerin düzenlenmesi

    Programlarınınzın işleyişine göre bazen kelimeler üzerinde düzenlemeler veya düzeltmeler yapmanız gerekebilir. Basic bu işler için de bazı araçlar barındırır. Bu araçların nasıl işlediğini örnekler üzerinde görelim.

    İlk örneğimiz.

    Kod:
    10 kelime$ = "Ördek bir kuş türü"
    20 print left$(kelime$, 2)
    Bu bölümdeki ilk örneğimizi şimdi inceleyelim. İlk satırda "kelime$" isimli ve yazı karakterler barındıracak olan değişkenimizi "Ördek bir kuş türü" cümlesi ile eşleştiriyoruz. 20 nolu satırda kullandığımız "LEFT$()" kodu, bir kelimeyi veya satırı, sol taraftan (satır başlangcından) okumaya başlar ve parantezler içinde kullanılan değişken ile eşleşen satırı veya kelimeyi, belirtilen harf sırasına kadar okur. Ve "PRINT" kodu tarafından yazdırılır. Bu örnekten alacağımız sonuç, "Ör" harfleri olacaktır.

    Kod:
    print left$("Ördek", 2)
    Bu şekilde de yazmak mümkün. Belki "LETF$()" kodunun nasıl işlediği daha kolay anlaşılabilir.


    Kod:
    10 kelime$ = "Ördek bir kuş türü"
    20 print mid$(kelime$, 10)
    Bu örneğimizde "MID$()" kodunu kullanıyoruz ve aynı cümleden aldığımız sonuçta daha farklıdır. "MID$" kodu da yine sol baştan kelibelirtilen kelimeyi veya satırı okumaya başlıyor, ancak bir fark ile, belirtilen arf sırasından itibaren, satır sonuna kadar. Bu işlemin sonucunda alacağımız sonuç ise "kuş türü" olacaktır.

    Kod:
    10 kelime$ = "Ördek bir kuş türü"
    20 print rıght$$(kelime$, 3)
    "RIGHT$" kodu ise, satır veya kelimeyi sağ taraftan (satır sonundan itibaren) okumaya başlar ve belirtilen harf sırasına kadar okur. Buradan alacağımız sonuç ise "ürü" olacaktır.

    Kod:
    10 kelime$ = "Ördek bir kuş türü"
    20 print len(kelime$)
    "LEN()" kodunun diğerlerinden iki farkı var. Birincisi "$" "LEN" ile birlikte kullanılmıyor, çünkü her hangi bir kelime işlemiyor. İkincisi ise parantezler içinde de harf sırasını belirlemek ikinci bir parametre kullanılmıyor. "LEN()" kodu, belirtilen değişken ile eşleşen kelimenin veya satırın uzunluğunu hesaplıyor. Boyut olarak, karakter (harf) sayısı (boşluklar dahil) kullanılıyor.

    Kod:
    print len("1234")
    Bu şekilde belki daha iyi anlaşılabilir.

    imdi yeni öğrendiklerimizin bir kısmını bir kelime oyunu üzerinde deneyelim.

    Kod:
    10 color 1,7
    20 cls
    30 key off
    40 locate 4,20
    50 print "Günün Macerası (Bir kelime oyunu.)"
    60 locate 10
    70 print "Merhaba güzelim, adın ne senin bakiim ?"
    80 print
    90 input isim$
    100 if isim$ = Sana ne" or isim$ = "sana ne" then goto 230
    110 if right$(isim$, 1) = "a" then isim$ = isim$+"cığım"
    120 if right$(isim$, 1) = "e" then isim$ = isim$+"ciğim"
    130 if right$(isim$, 1) = "i" then isim$ = isim$+"ciğim"
    140 if right$(isim$, 1) = "o" or right$(isim$, 1) = "u" then isim$ = isim$+"cuğum"
    145 if left$(isim$, 2) = "Os" and rigth$(isim$, 2) = "an" then isim$ = isim$+" bey"
    150 print
    160 print "Merhaba "; isim$; " Bu akşam Sinemaya gidelimmi ?"
    170 print
    180 input cevap$
    190 if cevap$ = "Evet" or cevap$ = "evet" then goto 200 else goto 230
    200 print
    210 print "Yaşasııın ! "
    220 end
    230 print
    240 print "Haydi güzelim, herkes kendi yoluna, güle güle."
    250 end
    Bu kısa kelime oyununda "RIGHT$()" kodunu girilen isimlerin sonuna "ciğim", "cığım" veya "cuğum" ekleyebilmek için kullanıyoruz. Ancak burada sadece isimlerinin son harfi sesli harf olanları "IF" kalıpları içinde saymış olduk. İsimleri "en", "em" veya diğer sessiz harfler ile bitenlerde ekleme işlemi devre dışı kalıyor. Tüm Türkçe isimleri ekleme grupları içine alabilmemiz için kullanılabilecek isimlerin son iki harflerini "IF" kalıpları içinde sıralamamız gerekirdi ve de programımızıda biraz daha uzatmak gerekecekti.

    Kod:
    140 if right$(isim$, 1) = "o" or right$(isim$, 1) = "u" then isim$ = isim$+"cuğum"
    Bu satırda "o" ve "u" harfleri için aynı "IF" kalıbını kullandık, ve her iki "RIGHT$()" kodunu bir birimden atırmak için de, "OR" kodunu kullandık. "OR" aslında bir mantıksal seçimi temsil eder. Sol taraftaki veya Sağ taraftaki seçim gerçekleşirse, işlem gerçekleşir, şeklinde çalışır. Bu seçimlerin arasında bir kıyaslama yapılabilmesi için ise, "RIGHT$()" kodularının parantezleri içindeki parametreler eşit olmalıdır. Biride son iki harf ve diğerinde sondan birinci harf, bir kıyaslama olamaz.

    Kod:
    145 if left$(isim$, 2) = "Os" and rigth$(isim$, 2) = "an" then isim$ = isim$+" bey"
    Bu satırda ise "AND" isimli bir kod kullanıyoruz. "AND" kodu, Sağ taraftaki seçim ile Sol taraftaki seçimlerin her ikisininde gerçekleşmesi durumnda işlemi başlatır. Kıyaslanan seçimlerde bu sefer birbirinden farklı olmak zorundalar. İlk seçim "left$(isim$, 2)" soldan ilk iki harfin "Os" (Büyük O ve küçük s ) harflerinin olması durumunda, ve ikinci seçim ise "rigth$(isim$, 2)" sağdan (Sondan) ilk iki harfin "an" olması durumunda işlemin başlamasını sağlıyorlar. Her iki seçimin de gerçekleşmesi gerekiyor. Bu durumda "Os" ve "an" seçimleri gerçekleşmesi durumunda, girilen ismin sonuna " bey" eklenecektir. Mesela "Osman" ismi her iki seçimi de yerine getirebiliyor.

  8. #18

    Varsayılan

    Sabit işlemler (Function)

    Programlarınızda sık olarak kullanacağınız bir işlemi bir sabit isim ile eşleştirerek, kendi ilave ettiğiniz bir kod gibi kullanabilirsiniz. Bunun nasıl yapıldığını ve nasıl işlediğini bir kaç örnek üzerinde inceleyelim.

    Kod:
    10 def fntoplam(a, b) = a+b
    20 a = 123
    30 b = 345
    40 print fntoplam(a, b)
    İlk satırda "DEF" ile bir sabit işlem belirliyoruz ve işleme isim verirken, ismin ilk harfleri olarak "FN" harflarini mutlaka kullanıyoruz. Parantezler içinde ise kaç değişken kullanacağımızı ve bu değişkenlerin adlarını belirliyoruz. Ardında "=" işareti ile değişkenlere verilecek olan değerlerin ne şekilde kullanılacağını belirliyoruz. daha sonra, belirlenen değişkelere birer değer eşleştiriyoruz ve "print + fnxxx(x,y)" şeklinde bu değerleri belirlediğimiz işlemden geçiriyoruz.

    Aynı şekilde kelimeleride işlemek mümkün. Ancak keimeler,isimler veya ifadeler kullandığımızda "$" işaretini değikenlerimizin tanımı için ve de işlemimizin ismi için kullanmayı unutmuyoruz.

    Kod:
    10 def fnisim$(isim1$, isim2$)
    20 input "Adınız     : "; isim1$
    30 input "Soyadınız: "; isim2$
    40 print "Merhaba"+" "+isim1$+" "+isim2$
    Biraz daha kapsamlı bir örnek deneyelim.

    Kod:
    10 cls
    20 def fntoplam(a, b) = a+b
    30 def fnazalt(a, b) = a-b
    40 def fnbolucu(a, b) = a/b
    50 def fncarpar(a, b) = a*b
    60 locate 2,10
    70 print "Her şeyi hesaplayan bir program"
    80 print
    90 input "İlk rakam : "; a
    100 print
    110 input "İkinci rakam : "; b
    120 cls
    130 locate 10,10
    140 input " İşlem seç : t/oplama  e/ksiltme  b/ölme  c/arpma"; sonuc$
    150 if sonuc$ = "t" then print a" + "b" = "fntoplam(a, b)
    160 if sonuc$ = "e" then print a" - "b" = "fnazalt(a, b)
    170 if sonuc$ = "b" then print a" / "b" = "fnbolucu(a, b)
    180 if sonuc$ = "c" then print a" x "b" = "fncarpar(a, b)
    İlk hesap makinemize benzer bir yeni hesap makinesi yazmış olduk. Dikkat edilmesi gereken bir detay ise, hem değişkenlerimizn isimlerinde, hem de işlemimiz veya işlemlerimiz için kullandığımız isimlendirmelerde, Türkçe karakterler kullanmıyoruz.

  9. #19

    Varsayılan

    Sorun giderme

    Kodlarınız her zaman istediğiniz gibi işlemeyebilirler. Sorunu çözmek için her zaman, önce sorunun nedenini tesbit etmek gerekiyor. Bunun için hata bildirimlerini dikkatlice okumak gerekiyor. Hata bildirimleri genelde sorunun nedenini ve bulunduğu satırı isabetli olarak bildiriyorlar.

    Bir başka yöntem ise, her satırı tek tek çalıştırarak, sorunlu satırı tesbit ekmek. Bu yötemi şimdi bir örnek üzerinde test edelim.

    Kod:
    10 print "Pazartesi"
    20 print "Salı"
    30 print "Çarşamba"
    40 print "Perşembe"
    50 print "Cuma"
    60 print "Cumartesi"
    70 print "Pazar"
    Bu kodları çalıştırdığımızda, sorunsuz olarak haftanın günleri alt alta sıralanacaktır. Şimdi kodlarımızın her satırını teker tekr çalıştıralım. bunun için satırların aralarına, her çalışan satırdan sonra işlemi durduran bir kod satırı ekleyeceğiz.

    Kod:
    10 print "Pazartesi"
    15 stop
    20 print "Salı"
    25 stop
    30 print "Çarşamba"
    35 stop
    40 print "Perşembe"
    45 stop
    50 print "Cuma"
    55 stop
    60 print "Cumartesi"
    65 stop
    70 print "Pazar"
    Şimdi kodlarımızı çalıştırdığımızda her satır işlendikten sonra "Break in 15" v.s, duraklanan satır numarasınıda belirten bir bildiri çıkıyor. Her satırda, bu örneğimizdeki gibi bir çıktı çıkmak zorunlu değildir. Ancak işlemlerin devam etmediği satırda (ilk) hatamızı bulabilmiş oluruz.

    Her duraklama'dan sonra devam edebilmek için, her seferinde "CONT" kodunu yazmamız gerekiyor. "STOP" ve "CONT" birlikte kullanılan bir kod çiftidir.

    Hataları tesbit edebilmek için bir başka çözüm.

    Kod:
    10 for sayim = 1 to 10
    20 print sayim
    30 next x
    Burada hatalı bir satır ekledim. Biz örneğimizin çook uzun olduğunu varsayalım ve hatayı göz ile seçemiyoruz, düşünelim.

    Kod:
    5 on error goto 200
    10 for sayim = 1 to 10
    20 print sayim
    30 next x
    40 end
    200 print erl,err
    210 end
    Şimdi kodlarımıza 3 yeni satır daha ekledik. 40 numaralı satırı, işlemin son bulduğunu belirlemek için ekledik ki, işlem normal (hatasız) çalışırkende, veya hatayı düzelttikten sonra tekrar hata tebiti yapmasın.

    İlk yeni satırımızda (satır no 5) "ON ERROR" kodunu kullanıyoruz. Bu kod, hata bildirimlerini yönlendirir. İlk hata aldığımız satırdaki hata tebiti "GOTO 200" ile 200 numaralı satıra yönlendirilir.

    200 numaralı satırda ise "PRINT" kodu ile hatayı yazdırıyoruz. "ERL" kodu hatanın tesbit edildiği satırı belirler. Virgül ile "ERL" den ayırdığımız "ERR" kodu ise hatanın numarasını bildirir. Son satır ise, hata bildirim bölümünün bittiğini belirler.

    Şimdi bir satır daha ekleyelim.

    Kod:
    5 on error goto 200
    10 for sayim = 1 to 10
    20 print sayim
    30 next x
    40 end
    200 print erl,err
    205 error err
    210 end
    205 nolu satırı ekledik. "ERROR" kodu hata bildirimlerini yazdırır. Alacağımız hata numarasını daha önceden bilemiyeceğimize göre, "ERR" kodunu parametre olarak ekledik. Şimdi kodlarımızı yeniden çalıştırdığımızda, hata bildiriminde, Satır numarası ve hata numarasının altında, bir de hata bildirimini (Hata numarasının açıklamasını) okuyabilirisz.

    Kod:
    error 15
    Bu şekilde ise, sonuna eklenen rakamı değiştirerek, bütün hata numaralarının açıklamalarını okuyabilirsiniz. Kısa programlarda zaten bu bildirimler veriliyor. Ancak programlarıızın işlevselliği arttıkça, kod satırlarının sayısıda buna bağlı olarak kesinlikle artacaktır.

    Gwbasic, bir hata bildirimi aldığınızda, hatanın bulunduğu satırı yeniden, düzeltilebilmesi için ve hatanın tesbit edildiği nokta ile bildiriyor ve düzeltilmesi durumunda, işlemin yeniden başlatılabilmesine olanak tanıyor. Programı hatadan dolyı silmiyor.

    Kod:
    10 input "Bir rakam yazın : "; sayi1
    20 input "Bir tane daha yazın : "; sayi2
    30 print sayi1 + sayi2
    Bu örneğimizde, yanlışlıkla rakamlar girmek yerine kendi adınızı yazdığınızda, Gw-basic size girdiğiniz değeri yeniden yazmanızı bildiren bir bildiri yazarak, sizi tekrar hata yaptığınız satıra yönlendirecektir.

    Bir başka yöntem ise, "TRON" ve "TROFF" komutlarını kullanarak, işlemleri satır numaraları gösterilecek şekilde çalıştırmak oluyor. Bu yöntemde işlem sırasına göre ve işlemin gerçekleştiği satır numaraları köşeli parantezlaer içinde, satır başında görünürler.

    Kod:
    tron
    Bu komuttan sonra istediğiniz bir programınızı nprmal bir şekilde çalıştırabilirsiniz ve gerçekleşen işlemlerin hangi satırlarda sırasıyla işlem gördüklerini takip edebilirsiniz.

    Kod:
    troff
    Bu komut ile de, bir önceki çalışma modunu iptal edebilirsiniz. Tabii, doğrudan kodlarınız içindede, programınızın en başına ekleyerek kullanabilirsiniz. Şimdi bir kaç örnek üzerinde deneyelim.

    Kod:
    10 tron
    20 print "Lütfen adınızı giriniz : "
    30 input isim$
    40 print "Lütfen şifrenizi giriniz : "
    50 input sifre$
    60 print "Adınız ve Şifreniz : "
    70 print isim$+" "+sifre$
    Bu örnekte, çalıştırdığınız zaman, tüm işlemleri satır numaraları eklenmiş şekilde göreceksiniz. Bir başka örnek daha deneyelim.

    Kod:
    10 tron
    20 dim isim$(5)
    30 isim$(0) = "Osman"
    40 isim$(1) = "Mehmet"
    50 isim$(2) = "Nuri"
    60 isim$(3) = "Mustafa"
    70 isim$(4) = "Nihat"
    80 isim$(5) = "Niyazi"
    90 for x = 0 to 5
    95 print isim$(x)
    99 next x
    Bu örnekte ise işlemin hangi satırlar arasında ve hangi sıra ile atladığını görabilirsiniz. Satırlardan birinde bir hata olsaydı, önce hatalı satırda bir durdurma ve bir alt satırdada hata bildirimi yer alacaktı.
    En son oasman tarafından düzenlenmiştir: 09.12.2013 21:24 Sebep: İlave

  10. #20

    Varsayılan

    Çok dosyalı programlar

    Bilgisayarınıza herhangi bir program kurduğunuzda, bunu sanırım herkes şimdiye kadar bu konuyu okumak aklına gelmeden önce yapmıştır, kurduğunuz programların çok sayıda dosyadan oluştuklarını fark etmişsinizdir. izim programlarıız ise, şimdiye kadar tek dosyadan oluşuyorlardı. Ancak programlarımızın kod satırlarının sayısı arttıkça, kodlarımız üzerindeki denetim git gide azalır ve bazen nerede en son neyi düzelttiğimizi veya en son nerede bir mola verdiğimizi hatırlamakta zorlanırız. Böyle durumlarda, programlarızı bir den fazla dosyaya bölmemiz, işimizi kolaylaştırı.

    Şimdi dört dosyadan oluşan bir örnek program yazalım.

    İlk dosya:

    Kod:
    10 rem AYLAR.BAS
    20 print "Ocak"
    30 print "Şubat"
    40 print "Mart"
    50 print "Nisan"
    60 print "Mayıs"
    70 print "Haziran"
    80 print "Temmuz"
    90 print "Ağustos"
    100 print "Eylül"
    110 print "Ekim"
    120 print "Kasım"
    130 print "Aralık"
    140 end
    İkinci dosya:

    Kod:
    10 rem GUNLER.BAS
    20 print "Pazartesi"
    30 print "Salı"
    40 print "Çarşamba"
    50 print "Perşembe"
    60 print "Cuma"
    70 print "Cumartesi"
    80 print "Pazar"
    90 end
    Üçüncü dosya:

    Kod:
    10 rem SAATLER.BAS
    20 print "1"
    30 print "2"
    40 print "3"
    50 print "4"
    60 print "5"
    70 print "6"
    80 print "7"
    90 print "8"
    100 print "9"
    110 print "10"
    120 print "11"
    130 print "12"
    140 end
    Dördüncü dosya:

    Dördüncü olarak yazdığımız, aslında birinci (ana dosya ) oluyor. Biz daha kolay inceleyebilmek için sona bıraktık.

    Kod:
    10 cls
    20 locate 4,15
    30 print "Seçiminizi yapın"
    40 print tab(15)"----------------"
    50 print:print:print
    60 print "   [1] Aylar"
    65 print
    70 print "   [2] Günler"
    75 print
    80 print "   [3] Saatler"
    85 print
    90 input "Seç bakalım"; numara
    100 if numara = 1 then chain "aylar"
    110 if numara = 2 then chaın "gunler"
    120 if numara = 3 then chaın "saatler"
    130 end
    Son programımızı çalıştırdığımızda, bizden bazı seçenekler arasından bir seçim yapmamızı isteuecektir. Bizim yaptığımız seçime göre "IF" satırları kısmında, dosya isimleine yönlendirileceğiz. Bu doyalar ve çalıştırdığımız dosya, aynı klasör içinde bulunuyorlarsa, ve de isimleri doğruysa, programımız diğer dosyaya atlar (geçer) ve oradan devam eder. Bu işlemi sağlayan ise "CHAIN" kodu ve ardına eklenen dosya adı. Dosya adından bir virgül ile ayırmak süretiyle, çlıştırılacak veya işlemlerin devam edeceği satırıda seçebiliriz

    Örnek:

    Kod:
    if numara = 1 then chain "aylar", 20
    Ana programımızda kullandığımız diğer bir yenilik ise "TAB()" kodu.Bu kod, satır içinde, karakter boyutunda sağa atlamayı sağlar.

    Aşağıdaki iki örnek aynı işlemi yapar.

    Kod:
    print "               Merhaba"
    Kod:
    print tab(15)"Merhaba"
    Programımızı ayrı dosyalara bölerek yazıp, ardından tek bir dosyada birleştirmekte mümkün. Ancak o işlemi farklı bir yötem kullanarak yapabiliyoruz.

    Bu sefer önce ana programımızı (dosyamızı) yazalım.

    Ana dosya:

    Kod:
    10 rem BIRLES.BAS
    20 cls
    30 locate 2,15
    40 print "Mahallemizin Manavı"
    50 print:print:print
    60 print tab(15)"S/ebzeler"
    65 print:print:print
    70 print tab(15)"M/eyveler"
    75 print:print:print
    80 input "Seçiminiz : "; secim$
    90 if secim$ = "m" then goto 200
    95 if secim$ = "s" then goto 400
    99 end
    Ana programımızın son satırlarında, programızda mevcut olamayan satır numaralarına birer yönlendirme ekledik. Diğer dosyalarımızı daha sonra ana dosya ile birleştireceğimizden ötürü, satır numaralarının çakışmamasına özen göstermemiz gerekiyor.

    Şidi ana dosyamızı (programımızı) kayıt edelim.

    Kod:
    save "birles"
    İlave olarak iki dosya daha yazacağız. ikinci dosyamıza başlayalım.

    Kod:
    200 rem MEYVELER.BAS
    210 dim meyve$(9)
    220 meyve$(0) = "Ananas"
    230 meyve$(1) = "Armut"
    240 meyve$(2) = "Ayva"
    250 meyve$(3) = "Kiraz"
    260 meyve$(4) = "Üzüm"
    270 meyve$(5) = "Erik"
    280 meyve$(6) = "İncir"
    290 meyve$(7) = "Elma"
    300 meyve$(8) = "Muz"
    310 meyve$(9) = "Kızılıcık"
    320 for x = 0 to 9
    330 print meyve$(x)
    340 next x
    350 end
    Şimdi ikinci dosyamızı (programımızı) kayıt edelim.

    Kod:
    save "meyveler", a
    Dikkat ettiyseniz, bu kayıtta bir de parametre kullandık. "a" parametresinin buradaki rolü, dosya kayıt edilirken, kodlarımızın dönüştürülmemesi. Daha önce, .BAS uzantılı dosyaların dönüştürülmüş dosyalar olduğunu yazmıştım. "a" parametresi ile ise kodlarımız sadece düzeltilmiş olarak dosyaya kayıt ediliyorlar. Basic kodlarının varsayılan olarak büyük harflerle yazıldığını, ancak daha kolay olduğundan, bizim burada küçük harfler kullandığımızı ve Gw-basic'in bizim hatamızı otomatik olarak düzelttiğnide yazmıştım. Dosyamızı normal şekilde (dönüştürülmüş kodlar ile) kayıt edersek, ileride dosyaları birleştirirken hata verecektir.

    Üçüncü dosyamızıda yazalım.

    Kod:
    400 rem SEBZELER.BAS
    410 read a$(1), a$(2), a$(3), a$(4), a$(5), a$(6), a$(7), a$(8)
    420 for x = 1 to 8
    430 print a$(x)
    440 next x
    500 data "Lahan", "Pırasa", "Marul", "Kaba"
    510 data "Soğan", "Patates", "Fasulye", "Nohut"
    Şimdi son dosyamızı da kayıt edelim.

    Kod:
    save "sebzeler", a
    Yine aynı şekilde, bir önceki dosyamızda olduğu gibi "a" parametresini kullanarak, dosyamızı kayıt ettik. Bu şekilde kayıt edilen dosyalarda kodlar dönüştürülmüş olmasalarda, ilave bilgiler içerirler. Bu nedenle halen formatlı dosyalardır.

    Şimdi hafızayı temizleyelim ve dosyaları birleştirmeya başlayalım.

    Kod:
    new
    Kod:
    load "birles"
    Önce ana dosyamızı yükledik.

    Kod:
    merge "meyveler"
    İlk dosyayı ana dosya ile birleştirmiş olduk.

    Kod:
    merge "sebzeler"
    ikinci dosyamızı da ana dosya ve ilk dosya ile birleştirmiş olduk. Ve şimdi birleştirilmiş programımızı kayıt edelim.

    Kod:
    save "manav"
    Şimdi, üç ayrı dosya halinde yazdığımız programımızı, tek dosya halinde birleştirerek kayıt etmiş oluyoruz. Tabii, daha önce aynı dosya ismini bir başka programınızda kullanmadığınıza dikkat edin. Son kayıt edilen dosya, önceki var olanın üstüne yazar. Aynı şekilde, birleştirdiğimiz dosyaların satır numaraları arasında bir çakışma olursa, eklenen dosyanın satırı, ana dosyanın satırı üzerine yazar.

    Programımızın bu hali ile tüm kodlarımız, sonradan eklenenlerde dahil, dönüştürülmüş durumda. Ancak Gw-basic ile kodlarımızı listelediğimizde, kodlar okunaklı olarak gösterilebiliyor ve incelenebiliyor. İstersek kodlarımızı korumalı olarakta kayıt edebiliriz. Bu durumda kodlarımız bir başkası tarafından incelenemezler. Tabii bizde artık bir dha inceleyemeyiz veya bir hata tebit ettiğimizde düzeltemeyiz. Korumalı kayıtın geri dönüşümü yok.

    Kod:
    save "manav", p
    Programımızı bu şekilde kayıt edersek, ve ileride bir ekleme yapmamız gerekiyorsa, programın tamamını yeniden yazmamız gerekecek, çünkü, Gw-basic derleyicisinin dahili editörü, dönüştürülmüş kodları, korumalı olduklarından ötürü, okunaklı yazı karakterlerine tercüme edemeyecektir.
    En son oasman tarafından düzenlenmiştir: 10.12.2013 15:16 Sebep: İlave

Benzer Başlıklar

  1. q basıc yardım
    carg tarafından Programlama Dilleri forumunda
    Yanıt: 9
    Son Mesaj: 02.05.2008, 00:39
  2. BASİC KODLARI
    hacker_382 tarafından Programlama Dilleri forumunda
    Yanıt: 5
    Son Mesaj: 20.12.2005, 05:31
  3. VİSUAL BASİC FREE
    hacker_382 tarafından Programlama Dilleri forumunda
    Yanıt: 3
    Son Mesaj: 20.09.2005, 18:31
  4. visual basıc 6.0
    revolver_ocelot tarafından Programlama Dilleri forumunda
    Yanıt: 4
    Son Mesaj: 28.06.2005, 19:11
  5. VİSUAL BASİC
    Hacker_Ozgur tarafından İnternet, Ağ ve Güvenlik forumunda
    Yanıt: 2
    Son Mesaj: 05.09.2003, 12:45

Gönderim İzinleri

  • Yeni başlık açamazsınız
  • Yanıt yazamazsınız
  • Eklenti gönderemezsiniz
  • Mesajlarınızı düzenleyemezsiniz
  •