  Ŀ
  Ŀ
                                                                          
                         dBASE Yaz Dizisi 4                              
                                                                          
  ٳ
                                                    Memik Yank             
  




 Yakn bir tarihte dBASE for Windows piyasaya verildi. Bu metni hazrladm
 srada dBASE for Windows'un beta srmn inceledim. dBASE for Windows
 program derleme ve altrma dnda btn dBASE IV deyim ve fonksiyonlarn
 destekliyor. Dolaysyla ileri bir tarihte dBASE ile Windows ortamna ynelik
 program gelitirme dnceniz varsa bile bu yaz dizisinde anlatlanlar ayn
 ekilde iinize yarayacaktr.

 Bunun dnda dBASE for Windows ile ayn tarihlerde dBASE 5.0 piyasaya
 verildi. dBASE IV ile dBASE 5.0 arabirim birbiri ile uyumludur. dBASE 5.0
 profesyonel programclarn iine yarayan birka nemli yeni deyim ve
 fonksiyona sahiptir. Bu yaz dizisinin sonunda, eer edinebilirsem dBASE 5.0
 hakknda bilgiler vereceim.


 PROGRAM YAZIM KURALLARI

 PS'nin daha nceki saylarnda verilen dBASE konulu yazlarda belirtildii
 zere, dBASE IV text'ine uygun olarak program gelitirmek iin ok sayda
 program gelitirme arac olmasna ramen, bu yaz dizisinde yalnzca dBASE IV
 2.0 ve dBASE Compiler temel alnacaktr.

 Program gelitirme arac olarak yalnzca dBASE Compiler kullanlmak
 isteniyorsa, ayrca bir editr programna ve DBF uzantl veri taban dosyas
 oluturmada kullanlan dier bir programa ihtiya vardr. DBF dosyas
 oluturmak iin dBASE IV'ten baka Clipper, dBASE III+, FoxPro vb. gibi veri
 taban programlarndan yararlanlabilir.

 dBASE IV veya dBASE derleyicisi ile derlenmek zere yazlan programlara satr
 numaras verilmez. Program satrnn yazmna ekrann istenilen yerinden
 balanlabilinir. Bir ekran satrna smayan program satrlarnn bir
 sonraki satrda devam ettiini belirtmek zere satrn sonuna noktal virgl
 ";" iareti konulur. Bir nceki program satr ";" ile bitmiyorsa, ilem
 gren satrn yeni bir satr olduuna karar verilir.

 dBASE iin yazlan programlarda bir satrda boluklar da dahil olmak zere en
 fazla 254 karakter olabilir. Ancak programlarn okunurluunu azaltmamak iin
 text ortamda ekranda ayn anda en fazla 80 karakter grntlenebildii iin
 uzun satrl programlardan kanmak gerekir. Program satrnn uzun olmas
 zorunluluu varsa satr uygun yerlerinde ";" iareti ile blnmelidir.

 Bir program satrnn programn obje koduna dahil edilmeyip yalnzca
 aklama satr olarak ilem grmesi isteniyorsa bu satrlarn bana yldz
 "*" iareti konulur. "*" iareti ile balayan program satrlar program
 derlenirken gz ard edilir. zellikle programlarn en bana programn
 zelliklerini anlatan ksa aklayc bilgilerin konulmas iyi bir
 alkanlktr. Ksa olan program satrlarnn sonlarna aklama eklemek
 iin "&&" kullanlr. dBASE iin yazlan programlarda kk byk harf ayrm
 yoktur.

     * Aadaki program satrlarnda dBASE IV ve dBASE derleyicisi iin
     * yazlan program satrlarnn sonuna "&&" ile aklama eklendi.


     @10,10 say "ADI ve SOYADI"     && ekrana ADI ve SOYADI yazlr.
     @10,10 say "ADRES "           && ekrana ADRES yazlr.




 BR dBASE PROGRAMINDA NELER VARDIR?

 Bir dBASE programnn kaynak kodunda dBASE deyimleri, hazr dBASE
 fonksiyonlar, aritmetik ve matematiksel operatrlerle kullanc tanml
 fonksiyonlar ile sabitler ve deiken adlar olabilir. Tekrarlamak gerekirse
 bir dBASE program yazmak iin bize gerekenler veya bilmemiz gerekenler
 unlardr: dBASE deyimleri, hazr dBASE fonksiyonlar, deikenler, sabitler
 ve dBASE'n destekledii operatrlerdir.

 Bu adan dBASE ile program gelitirmek iin ncelikle dBASE programlarnn
 yazm kurallarn renmemiz gerekiyor. Tabii daha nceden program derleme ve
 Link ilemleri hakknda bilgi sahibi olmamz gerekir. Ardndan en ok gerek
 duyulacak dBASE deyim ve hazr fonksiyonlar ile birlikte dBASE dahilinde
 nasl deiken tanmlandn bilmek durumundasnz.



 LK dBASE PROGRAMIMIZ

 lk programmzda ekrana "dBASE IV 2.0" yazacaz. Bu kk rnek program,
 dBASE Compiler kullanyorsanz, kullandnz editr yardmyla diske ILK.PRG
 ad ile kayt edin. Eer dBASE'in kendisini kullanyorsanz nokta iletisinde
 iken;

        Modify Command ILK

 yazp enter tuuna basn. Bunun zerine dBASE iinde program yazm ortamna
 geilir. Program yazm ortamnda aada vereceim drt satrlk program
 yazp Ctrl-W tular ile kayt edin. Program yazm ortamnda Ctrl-W ile
 yazlan program diske kayt edilirse tekrar nokta iletisine dnlr.

 Nokta iletisinde yazlan rnek program altrmak iin "DO ILK" yazp enter
 tuuna basmak gerekir. Dot Prompt-Nokta iletisi ortamnda daha nce yazlan
 herhangi bir PRG uzantl program DO deyimi ile altrlacak olunursa nce
 program derlenip BDO uzantl obje kodu oluturulur. Ardndan ek bir ileme
 gerek kalmadan program altrlr. Programn almas bitince tekrar nokta
 iletisi ortamna dnlr.

 Nokta iletisi ortamnda DO deyimi ile program altrma dolaysyla derleme
 ilemi srasnda derlenen veya altrlan programda herhangi bir hata varsa
 programn derlenmesi ve altrlmas yarda braklr. Bu durumda "Modify
 Command" deyimi ile tekrar program yazm ortamna dnlp derleme ilemi
 srasnda ekrana satr numaralar ile listelenen hatalarn giderilmesi
 gerekir.

 Program dBASE derleyicisi ile derlemek iin sistem komut satrnda yani DOS
 ortamnda;

               BDC ILK -c

 Yazarak program derleyin. Program hataszca yazdysanz derleme ilemi
 sonucunda ILK.DBO adl obje kodu retilir. Obje kodundan EXE kodu meydana
 getirebilmek iin Link(BDL.EXE) program yardmyla RTL uzantl Library
 dosyalarnn OBJE dosyasna balanmas gerekir. Bu amala yine sistem komut
 satrnda;

               BDL ILK

 yazlp enter tuuna baslrsa ILK.EXE adl alabilir program dosyas
 oluur. Yukarda belirtildii gibi ILK.PRG programn nce derleyip sonra
 Link edin. Bu ilemlerin sonucunda oluturulan ILK.EXE diskte dBASE Compiler
 1.0 kullanlyorsa 150 KB. kadar yer kaplayacaktr. Bu ekilde Link yaplp
 oluturulan EXE'ye dBASE derleyici ile birlikte gelen RTL uzantl library
 dosyalar link ilemi srasnda tam olarak balanmad iin tek bana
 almaz. Bu nedenle tek bana altrlmak istenen programlarn "-L"
 parametresi ile derlenmesi gerekir. Tek bana-Stand Alone alacak ekilde
 derlenen en kk dBASE program bile diskte 1.5 MB. yer kaplar. Ancak
 programn bykl arttka EXE hali daha fazla artmaz.


       DBO-01.PRG
     Ŀ
      CLEAR                                          
      @10,10 SAY "Borland dBASE IV 2.0"              
      WAIT "devam etmek iin bir tua basnz"       
      RETURN                                         
     

 Tahmin edilecei zere programn ilk satrnda kullanlan CLEAR deyimi ekran
 silmektedir. kinci satrda ekrann 10. satr ve 10. stununa "SAY" deyimi
 yardmyla "Borland dBASE IV 2.0" bilgisi yazdrlyor. dBASE'de dier
 programlama dillerinin tersine ilk satr ve stun numaras 1 yerine 0'dan
 balar. Son satrn numaras 24, son stunun numaras ise 79'dur.

 @SATIR,STUN SAY "Yazdrlacak Bilgi" eklinde formle edilebilecek yazmda @
 karakterinden sonra yazlan ilk rakam ekrann bilgi yazlacak yerin satr
 deerini, ikinci rakam stun deerini temsil etmektedir.

 WAIT deyimi ile programn almas kullanc bir tua basncaya kadar askya
 alnr. WAIT deyimi ncesinde kl gsterge SAY deyimi ile en son 10.
 satra konumlandrld iin 11. satra WAIT deyiminden sonra trnak iinde
 yazlanlar yani "devam etmek iin bir tua basnz" bilgisi yazdrlr. WAIT
 deyimi parametresiz olarak kullanlrsa bu kez zerinde bulunulan satra
 "Press any key Continue..." mesaj yazdrlr. Eer WAIT deyimi WAIT " "
 eklinde kullanlrsa ekrana hi bir mesaj verilmeden programn almas
 herhangi bir tua baslncaya kadar askya alnr. Return deyimi ise
 programn sonunu belirtmektedir.


 DEKEN TANIMLAMA

 Bir programlama dilini renirken karlalan en nemli kavramlardan biri
 deiken kavramdr. Programlama dilinde kullanlan deikenlerin nasl
 tanmland ve kullanld en banda renilmelidir. Bir dilin
 deikenlerle ilgili zellikleri tam olarak renilmeden szkonusu dilde iyi
 program yazmak mmkn deildir. imdi dBASE'de deiken tanmlama ve
 kullanm konusunu en ksa ekliyle anlatacam.

 dBASE ve btn xBASE textine bal program gelitirme aralarnda olduu gibi
 deiken tanmlama kurallar Basic'in deiken tanmlama ekline olduka
 benziyor. Bir deikeni tanmlamak iin tanmlanmak istenen deikene bir ilk
 deer atamak yeterli oluyor. Deikenin tipi deikene aktarlan bu ilk
 deerin tipine baldr. Tanmlanan deikene saysal bir ilk deer atandysa
 artk programn sonuna kadar bu deikene saysal deerler atanabilir.

        AD=SPACE(15)

 Bu deikene 15 karakter uzunluunda alfasaysal bilgi atand iin
 deikenin tr otomatik olarak alfasaysal olacaktr. Yine deikenin
 bykl 15 karakterle snrl kalacaktr. Ancak bu snr szkonusu
 deikene yeni bir deer atamas yaplarak alabilinir. Yani ilk olarak 15
 adet alfasaysal bilgiyi alabilecek ekilde tanmlanan deikene ilk atamann
 yapld ekilde,

        AD=SPACE(20)

 eklinde tekrar bir atama yaplrsa AD deikeninde artk uzunluu 20
 karaktere kadar olan alfa saysal bilgiler depolanabilir. Deikene atanacak
 bilgilerde yaplabilecek deiiklikler yalnzca bu kadarla snrl deil. AD
 deikenine;

        AD=0

 eklinde bir saysal bilgi atamas yaplmas halinde AD deikeni artk alfa
 saysal deil bir saysal deikendir.

 Benzer ekilde KITAPADI="dBASE IV 2.0" eklinde yaplan bir atamada KITAPADI
 deikenine programn daha nceki satrlarnda bir atama yaplmadysa veya
 yaplan atama bir ilk deer verme ise KITAPADI deikeni alfa saysal bir
 deiken olarak tanmlanm olur.

        SAYI=0

 ekinde tanmlanan SAYI deikenine 0 saysal bilgisi ilk deer olarak
 verildii iin deikenin tr yine saysal olacaktr.

        DOGRUYANLIS=.T.

 eklinde tanmlanan deiken mantksal bir deiken olup yalnzca iki deer
 alabilir. Biri mantksal doru yani .T. veya .Y., biri de mantksal yanl
 yani .F. veya .N.

        BUGUN="10/07/94"
        BUGUN=DATE()
        BUGUN=CTOD("10/07/94")

 Tarih bilgisi ieren deikenlerin bellekte kapladklar yer her zaman olarak
 8 byte'dr. BUGUN deikenine yaplan ilk atamada atanan bilgi bir tarih
 bilgisi olarak deil normal bir alfa saysal bilgi gibi ilem grr.Bu tip
 atamalardan sonra atanan bilginin tarih bilgisi olarak ilem grmesi iin
 CTOD() fonksiyonu ile evirme ilemi yapmak gerekir. Ancak BUGUN deikeni
 daha nceden tarihsel bilgi saklayacak bir ekilde tanmlanmsa bu tr
 evirme ilemine gerek yoktur.

 Bu hali ile tarihsel deikenlere tarih bilgisini aktarrken Amerikan tarih
 sistemini yani Ay/Gn/Yl tarih formatn kullanmamz gerekiyor. Trkiye'de
 kullanlan Gn/Ay/Yl formatnda tarih bilgisi kullanabilmek iin, tarih
 bilgisini kullanmadan nce "SET DATE BRITISH" deyimini kullanmamz gerekir.
 nk ngilizler de bizim kullandmz tarih formatn kullanyorlar. Tekrar
 Amerikan tarih sistemine dnmek iin SET DATE AMERICAN deyimini kullanmak
 yeterlidir. dBASE'in varsaylan deerlerinin sakland CONFIG.DB dosyasnda
 deiiklik yaplarak Ingiliz-BRITISH tarih formatnn varsaylan tarih
 format olmas salanabilir.

 Henz tanmlanmam veya ilk deer atamas yaplmam bir deikene deer
 okutmak veya baka amalarla kullanmak mmkn deildir. Tanmlanmam bir
 deikenin kullanlmas halinde programn almas krlr. Deikenlere
 atama eit "=" iareti veya STORE deyimi ile yaplabilinir.



 2. RNEK dBASE PROGRAMI

 imdi verilen ikinci ksa rnek programda baz nemli dBASE deyimleri var:



         DBO-02.PRG
  Ŀ
    1  ADI=SPACE(15)                                                
    2  SOYADI=SPACE(20)                                             
    3  ADRES=SPACE(40)                                              
    4  YASI=0                                                       
    5  CLEAR                                                        
    6  @5,8 TO 10,65                                                
    7  @6,10 SAY "ADI GIRIN....:" GET ADI PICTURE "@15!"            
    8  @7,10 SAY "SOYADI GIRIN.:" GET SOYADI PICTURE "@20!"         
    9  @8,10 SAY "ADRESI GIRIN.:" GET ADRES PICTURE "@40!"          
   10  @9,10 SAY "YASI GIRIN...:" GET YASI PICTURE "99"             
   11  READ                                                         
   12  @12,8 TO 20,65 DOUBLE                                        
   13  @14,10 SAY "ADI ...:" + ADI PICTURE "@15!"                   
   14  @15,10 SAY "SOYADI.:" + SOYADI PICTURE "@20!"                
   15  @16,10 SAY "ADRESI.:" + ADRES PICTURE "@40!"                 
   16  @17,10 SAY "YASI...:"                                        
   17  @17,18 SAY YASI PICTURE "99"                                 
   18  @24,10 SAY "PROGRAMDAN IKMAK N BR TUA BASINIZ"         
   19  BEKLE=INKEY(0)                                               
   20  RETURN                                                       
  

 Bu rnekte ok kullanlan bir ka dBASE deyimi var. imdi program satr
 satr aklamak istiyorum. Aklamay kolay yapabilmek iin her satra numara
 verdim. Program yazarken verilen satr numaralarn kaldrn.

Ŀ
1. Satr       
Ĵ
ADI=SPACE(15)  

 Uzunluu 15 karakter olan alfasaysal bir deiken tanmland. Balang
 deeri olarak 15 adet boluk verildi. SPACE() fonksiyonu geriye parametre
 olarak ald saysal deer kadar boluk deeri dndrr. ADI deikeni
 tanmlanrken SPACE() fonksiyonunun geriye dndrd 15 adet boluk deeri
 "=" iareti ile ADI deikenine aktarld.

Ŀ
2. Satr            
Ĵ
SOYADI=SPACE(20)    

 Uzunluu 20 karakter olan alfa saysal Deiken tanmlama. Deikenin
 balang deeri 20 adet boluk veya SPACE.

Ŀ
3. Satr            
Ĵ
ADRES=SPACE(40)     

 Uzunluu 40 karakter olan alfa saysal deiken tanmlamas. Burada
 alfasaysaldan kastmz deikene alfabetik karakterlerle saysal
 karakterleri bir arada veya ayr ayr atayabileceimiz eklinde. Ancak bu tr
 deikenlere atanan saysal bilgileri matematiksel ilemlerde kullanamayz.

Ŀ
4. Satr     
Ĵ
YASI=0       

 Saysal deiken tanmlamas. lk deer olarak 0 deeri verilmi.

Ŀ
5. Satr  
Ĵ
CLEAR     

 Ekrann tm CLEAR deyimi ile temizleniyor, siliniyor.

Ŀ
6. Satr          
Ĵ
@5,8 TO 10,65     

 Ekrann verilen koordinatlarnda tek izgili ereve iziliyor. TO'dan
 nce verilen satr ve stun deerleri pencerenin sol st kesini, sonra
 verilenler ise sa alt kesini belirtir.

Ŀ
7, 8, 9, 10 ve 11. Satrlar                             
Ĵ
@6,10 SAY "ADI GIRIN....:" GET ADI PICTURE "@15!"       
@7,10 SAY "SOYADI GRN.:" GET SOYADI PICTURE "@20!"    
@8,10 SAY "ADRES GRN.:" GET ADRES PICTURE "@40!"     
@9,10 SAY "YAI GRN...:" GET YASI PICTURE "99"        
READ                                                    

 Bu satrlarda kullanlan deyimler ve kullan ekilleri olduka nemli. Bu
 nedenle bu satrlardaki yazl stiline nce gzlerinizi altrmanz iyi
 olacaktr. 7. satrda bulunan SAY deyiminin grevini biliyoruz. Ekrann 6.
 satr ve 14. stununa "ADI GRN...." mesajn yazmaya yaryor. Bunun
 ardndan kullanlan GET deyimi ise deikene dardan deer okutmaya
 yaryor.  Hangi deikene derseniz "ADI" deikenine. Geriye deiken iin
 okutulup aktarlacak deerin veya bilginin tipini ve uzunluunu belirten
 PICTURE deyimi kald.

 Zaten ad zerinde, PICTURE sz konusu deikenin resmini, tipini belirtiyor.
 Dardan bir deikene deer aktarmak iin GET deyimi tek bana yeterli
 deil. Bu ilem iin ayrca GET deyimini aktif yapan READ deyiminin de
 kullanlmas gerekiyor. Her GET iin ayr READ deyimi kullanmak mmkn
 olmakla birlikte birbirini takip eden btn GET'leri aktif yapmak iin tek
 bir READ yeterli. Bizim rneimizde drt adet GET iin yalnzca bir tek READ
 deyimi kullanld.

 Bu durumda ADI deikenine en fazla 15 karakter uzunluunda bilgi okutulup
 aktarlabilinir. Yine ayn ekilde SOYADI deikenine 20 ve ADRES deikenine
 40 karakterlik alfasaysal bilgi aktarlabilinir. YAS deikenine ise iki
 haneli tam say bir deer aktarla bilinir.

 Bilgi girii yaplabilecek her biri farkl uzunlukta 4 adet satr var. Bilgi
 girii yaplabilecek yerler ters olarak grtlenir. Program ilk
 altrldnda ADI deikeni iin bilgi girii yaplr. SOYADI deikeni
 iin bilgi girii yapabilmek iin ya enter tuuyla ya da aa ok tuuyla bir
 alt satra gidilir. Yine istenirse yukar ok tuuyla bilgi girii yaplan bir
 nceki satra gidilebilir. Bilgi girilen en son satrda iken enter tuuna
 baslacak olunursa bilgi giri ilemi sonlandrlr.

Ŀ
12. Satr                   
Ĵ
@12,8 TO 20,65 DOUBLE       

 6. satrda olduu gibi belirtilen ekran koordinatlarnda bir ereve izilir.
 Bu ereve tek izgili olmayp ift izgili olacaktr. erevenin tek izgili
 yerine ift izgili olmasn DOUBLE deyimi salyor. dBASE varsaym olarak
 ereveleri tek izgili olarak seer.

Ŀ
13. Satr                                          
Ĵ
@14,10 SAY "ADI ...:" + ADI PICTURE "@15!"         

 Bu satrn art iaretine kadar olan ilk ksm daha nce verilen satrlardaki
 ile ayn. Satrn bu ksm ekrann 6. satr 10. stununa "ADI...:" mesajn
 yazyor. Art iaretinden sonra ise daha nce tanmlanp deer aktarlan ADI
 deikeninin ierii mesaja eklenip ekrana yazlyor. Dikkat edilirse mesaja
 ierii eklenilen ADI deikeninin PICTURE yaps tekrar belirtilmi. ADI
 deikeninin ierii ile trnak iinde verilen sabit bilgi "+" operatr ile
 birletiriliyor.

Ŀ
14 ve 15. Satrlar                                    
Ĵ
@15,10 SAY "SOYADI.:" + SOYADI PICTURE "@20!"         
@16,10 SAY "ADRES.:" + ADRES PICTURE "@40!"          

 Yine 13. satrdaki gibi ekrann belirtilen satrlarna SOYADI ve ADRES
 deikenlerinin ierikleri yazlyor. Yine bilginin ekrana yazl tipini
 belirten PICTURE yaplar da satra eklenmi.

Ŀ
16. ve 17. Satrlar            
Ĵ
@17,10 SAY "YAI...:"          
@17,18 SAY YASI PICTURE "99"   

 Burada btn programlama dillerinde geerli olan bir kuraldan sz edeceim:
 Ancak benzer ierikli deiken ve bilgiler birbirlerine eklenebilir. Tipleri
 ayn olmayan bilgileri ve deikenlerin ieriklerini birbirlerine eklemek
 iin deiken veya bilgiden birinin dier tipe dntrlmesi gerekir.

 Bu satrda dikkat edilirse karakter tipli "YASI...:" mesaj ve YASI saysal
 deikenin ierii ekrana yazlyor. Burada deikenlerin tiplerini
 dntrme yerine ayr SAY deyimlerinden yararlanlm. YASI deikeninin
 PICTURE yapsna baklrsa iki haneli saysal bir bilgi var. Saysal
 deikenler iin PICTURE deyimini kullanrken her hane iin ayr bir adet
 dokuz "9" rakamn kullanmak gerekiyor.

Ŀ
18. Satr                                              
Ĵ
@24,10 SAY "PROGRAMDAN IKMAK N BR TUA BASINIZ"   

 Ekrann 24. satr, 10. stununa SAY deyimi yardmyla "PROGRAMDAN IKMAK N
 BR TUA BASINIZ" mesaj yazlyor.

Ŀ
19. Satr         
Ĵ
BEKLE=INKEY(0)    

 INKEY() fonksiyonu ile bir tua baslncaya dein programn bekletilmesi
 salanyor. INKEY() fonksiyonuna parametre olarak verilen sfr "0" saysal
 deeri INKEY() fonksiyonunun program durdurmas konusunda bir zaman
 ayrmnn yaplmadn gstermektedir. INKEY() ile birlikte kullanlacak
 sfrdan farkl deerler programn saniye olarak durdurulaca zaman
 belirtir. Yani INKEY(0) yerine INKEY(5) denilirse INKEY() fonksiyonundan 5
 saniye sonra, INKEY(10) denilirse 10 saniye sonra klr.

 imdi ksaca dBASE dahilinde kullanma sunulan hazr fonksiyonlarn en nemli
 zelliklerinden birine deineceim. Dier xBASE (Clipper) program gelitirme
 aralarnn tersine dBASE fonksiyonlarnn geriye dndrd deeri mutlaka
 yakalamak gerekiyor. Clipper'da;

        INKEY(0)

 eklindeki INKEY() kullanm bir sorun yaratmazken FoxPro ve dBASE'de hataya
 neden olmaktadr. Aslnda bizim burada INKEY() fonksiyonunu kullanmadaki tek
 amacmz yalnzca programn iletimini askya almak olduu iin INKEY()
 fonksiyonunun geriye dndrd deere ihtiyacmz yok. Hataya neden olmamak
 iin INKEY() fonksiyonunun geriye dndrd deeri BEKLE adl deikene
 aktardk.

 Her GET deyimi iin bir adet READ kullanlaca gibi birbirini takip eden
 birden fazla GET iin tek bir READ deyimi kullanmak mmkn. Yukardaki ksa
 programda drt adet GET iin yalnzca bir adet READ deyimi kullanld. imdi
 ise her GET deyimi iin ayr READ deyiminin kullanld halini vereceim.

 Tam bu noktada READ-GET deyimi ile ilgili nemli bir zellie deinmek
 istiyorum: Yukardaki rnekteki READ deyimi drt adet deikene deer okutma
 ileminde kullanld iin son READ deyiminden ENTER tuu ile klmad
 srece GET'ler sonlandrlmayp girilen bilgiler ara belleklerde tutulur.
 Dolaysyla ok tular ile sonlanmayan GET'lerin arasnda dolamak ve tekrar
 deitirmek mmkn.

 Ancak aada verilen GET-READ rneinde her GET iin ayr bir READ
 kullanld iin ok tular ile GET-READ'ler arasnda dolamak mmkn deil.
 Bu nedenle programc arkadalara birbirleri ile ilgili bilgileri GET-READ ile
 girerken, benzer GET'ler iin tek bir READ kullanmanz neriyorum.

         Ŀ
          @6,10 SAY "ADI GRN....:" GET ADI PICTURE "@15!"    
          READ                                                 
          @7,10 SAY "SOYADI GRN.:" GET SOYADI PICTURE "@20!" 
          READ                                                 
          @8,10 SAY "ADRES GRN.:" GET ADRES PICTURE "@40!"  
          READ                                                 
          @9,10 SAY "YAI GRN...:" GET YASI PICTURE "99"     
          READ                                                 
         


 