  Ŀ
  Ŀ
                                                                          
                         dBASE Yaz Dizisi 9                              
                                                                          
  ٳ
                                                    Memik Yank             
  



                               MEN OLUTURMA
                               

> imdi size geen sayda verilen program paralarn nce dBASE'in men
  oluturma deyim ve fonksiyonlarn kullanmadan bir men altnda
  birletirip bir arada vereceim. Sonraki sayfalarda dBASE tarafndan
  programclara sunulan men oluturma deyim ve fonksiyonlar ile ayrca
  men oluturacaz.. dBASE ile profesyonel programclar tarafndan
  yazlan programlardaki gibi men oluturmak son derece kolay.

  Daha nce para para verilen rnek programlar bir men altnda bir
  araya getirirken henz anlatlmayan CASE-DO CASE- ENDCASE blok
  kontrol deyimi kullanld. dBASE'deki CASE blok kontrol deyimi dier
  programlama dillerindeki CASE deyimlerinden farkl deildir.

Ŀ
 DBO-09.DBF 
Ĵ
 SET TALK OFF                                                             
 SET LDCHECK OFF                                                          
 SET SCOREBOARD OFF                                                       
 SECIM=6                                                                  
 DO WHILE .T.                                                             
         CLEAR                                                            
         @3,23 to 17,60 double                                            
         @3,32 SAY " Adres Program "                                     
         @6,27 SAY " 1- Yeni Kayt Girii  "                              
         @8,27 SAY " 2- Kaytta Deiiklik  "                             
         @10,27 SAY " 3- Ekrana Liste Alma  "                             
         @12,27 SAY " 4- Yazcya Liste Alma "                            
         @14,27 SAY " 5- Kayt Silme     "                                
         @16,27 SAY " 6- Programdan k   "                             
         @20, 27 SAY "Seiminizi Girin " GET SECIM PICTURE "9"            
         READ                                                             
                                                                          
         DO CASE                                                          
                 CASE LASTKEY()=27 .OR. SECIM=6                           
                         EXIT                                             
                 CASE SECIM=1                                             
                         DO KAYIT                                         
                 CASE SECIM=2                                             
                         DO DEGISIKLIK                                    
                 CASE SECIM=3                                             
                         DO LISTE                                         
                 CASE SECIM = 4                                           
                         DO YAZICI                                        
                 CASE SECIM =5                                            
                         DO SILME                                         
                 ENDCASE                                                  
 ENDDO                                                                    
 RETURN                                                                   
                                                                          


  Mennn en bana her zaman ki SET deyimlerini koyduk. Bu programn
  en bana konulan SET deyimlerinin etkisi btn program boyunca
  geerli olacandan dier program paralarna tekrar bu SET deyimlerini
  eklemeye gerek yok.

  Kullancnn menden yapaca seimin sra nosunu aktarmak iin
  SECIM adnda saysal bir deiken tanmland. Bu deiken
  tanmlanrken mennn son seenei olan 6 balang deeri olarak
  aktarld. Ardndan men seenekleri ile menden yaplan seimin
  deerlendirildii program satrlar bir DO WHILE - ENDDO dngs
  iine alnd. Dng deyimi ile birlikte kullnlan ve dngnn srmesini
  veya bitmesini salayan ifadede yalnzca mantksal doru .T. deeri var.
  Bu mantksal doru deeri bir deiken araclyla verilmedii iin
  normal artlarda dng sonsuz bir dng olur. nk dng kontrol
  ifadesini bir sabit olduu iin deitirme imkan yok.

  Daha nce belirtildii gibi bir DO WHILE - ENDDO dngsnden dng
  kontrol artlarna bal kalmadan kmak iin EXIT deyiminden
  yararlanlr. Bizim rnekte 6. men seenei ile programdan
  klmaktadr. Dngden kldktan sonra program bitmektedir.

  SAY-GET-READ ile bilgi girii yaplrken ESC tuuna baslrsa bilgi
  girii yaplan deiken saysal bir deiken ise 0, deiken karaktersel ise
  boluk deeri aktarlr. Bu nedenle kullanc mende iken ESC tuuna
  basarak programdan kabilmesini salamak iin programdan kma veya
  EXIT deyimini kullanma artna bir de ESC tuuna baslp baslmad
  LASTKEY() fonksiyonu ile  kontrol edildi.

  Daha nce ayr birer PRG olarak yazlp diske kayt edilip derlenen
  programlar bir araya getirirken btn paralar bir tek PRG dosyas
  altnda toplayacaz. Bunun iin her bir program parasna bir
  PROCEDURE ad verceiz. dBASE'de DO deyimi ile hem PROCEDURE hem de
  d PRG programn arma imkan var. rnek olarak program iinde
  DO KAYIT adnda bir satra gelindii zaman nce zerinde
  allan-derlenen veya altrlan PRG dosyas iinde ad
  KAYIT olan PROCEDURE aranr. Varsa programa dahil edilir. Yoksa
  bu kez ad KAYIT.PRG olan dsal PRG program dosyas aranr.
  Bulunursa programa derlenir.

  imdi sra ile daha nce ayr ayr verilen program paralarnn hepsini bir
  arada vereceim. Tekrar belirtmek gerekirse bu rnek program
  paralarnda yaplan ilemler ve anlatlanlarn kavranmas halinde
  herhangi bir xBASE veri taban program gelitirme aracn anlamak ok
  kolaylaacaktr.

Ŀ
 DBO-10.DBF 
Ĵ
 PROCEDURE KAYIT                                                          
 CLEAR                                                                    
 IF .not. FILE("SOYADX.NDX")                                              
         USE ADRES                                                        
       INDEX ON SOYAD To SOYADX                                           
       USE                                                                
 ENDIF                                                                    
 USE ADRES index SOYADX                                                   
 DEVAM="E"                                                                
 DO WHILE DEVAM=UPPER("E")                                                
         CLEAR                                                            
         AD1 = SPACE(10)                                                  
         SOYAD1=SPACE(15)                                                 
         ADRES11=SPACE(25)                                                
         ADRES21=SPACE(25)                                                
         DTARIH1="00/00/00"                                               
         TELEFON1=SPACE(7)                                                
         @0,5 TO 3,70 DOUBLE                                              
         @1,25 SAY "YEN KAYIT GR"                                    
         @2,6 SAY "KNN SOYADINI GRN(ENTER MENYE)" ;                
                 GET SOYAD1 PICTURE "@15!"                                
         READ                                                             
         IF SOYAD1=SPACE(15)                                              
                 CLOSE DATABASES                                          
                 RETURN                                                   
         ENDIF                                                            
         SEEK SOYAD1                                                      
         IF .NOT. EOF()                                                   
                 CEVAP="H"                                                
                 @6,6 SAY "SOYADI....:"                                   
                 @6,20 SAY SOYAD1 PICTURE "@15!"                          
                 @8,6 SAY "ADI.........:" GET AD1 PICTURE "@10!"          
                 @8,6 SAY "ADRES1......:" GET ADRES1 PICTURE "@25!"       
                 @10,6 SAY "ADRES2......:" GET ADRES2 PICTURE "@25!"      
                 @12,6 SAY "TELEFON.....:" GET TELEFON PICTURE "@7!"      
            @14,6 SAY "DOUM TARH:" GET DTARIH PICTURE "99/99/99"       
                 CLEAR GETS                                               
                 @18,6 CLEAR TO 23,70                                     
                 @18,6 TO 23,70 DOUBLE                                    
                 @19,20 SAY "BU KAYIT DOSYADA VAR "                       
                 @20,20 SAY "AYNI SME SAHP KNC BR KAYIT"            
                 @21,20 SAY "STYOR MUSUNZ (E/H)"                        
                 @21,45 GET CEVAP PICTURE "@1!"                           
                 READ                                                     
                 IF CEVAP=UPPER("H")                                      
                         LOOP                                             
                 ENDIF                                                    
       ENDIF                                                              
       @4,5 CLEAR TO 23,77                                                
       @4,5 TO 20,70 DOUBLE                                               
       @6,6 SAY "SOYADI.....: "                                           
       @6,20 SAY SOYAD1 PICTURE "@15!"                                    
       @8,6 SAY "ADI.........:" GET AD1 PICTURE "@10!"                    
       @10,6 SAY "ADRES1......:" GET ADRES11 PICTURE "@25!"               
       @12,6 SAY "ADRES2......:" GET ADRES21 PICTURE "@25"                
       @14,6 SAY "TELEFON.....:" GET TELEFON1 PICTURE "@7!"               
       @16,6 SAY "DOUM TARH:" GET DTARIH1 PICTURE "99/99/99"           
       READ                                                               
       @24,20 SAY "BU KAYDI ONAYLIYOR MUSUNUZ..(E/H)";                    
                GET DEVAM PICTURE "@!1"                                   
       READ                                                               
       IF DEVAM=UPPER("E")                                                
               APPEND BLANK                                               
               REPLACE SOYAD WITH SOYAD1                                  
               REPLACE AD WITH AD1                                        
               REPLACE ADRES1 WITH ADRES11                                
               REPLACE ADRES2 WITH ADRES21                                
               REPLACE TELEFON WITH TELEFON1                              
               REPLACE DTARIH WITH CTOD(DTARIH1)                          
       ENDIF                                                              
       @24,20 SAY "GRLECEK BAKA KAYIT VARMI (E/H)";                    
                GET DEVAM PICTURE "@1!"                                   
       READ                                                               
 ENDDO                                                                    
 CLOSE DATABASES                                                          
 RETURN                                                                   
 *************************************************************            
 PROCEDURE DEGISIKLIK                                                     
 USE ADRES INDEX SOYADX                                                   
 DEVAM="E"                                                                
 DO WHILE DEVAM=UPPER("E")                                                
         CLEAR                                                            
         AD1=SPACE(10)                                                    
         SOYAD1=SPACE(15)                                                 
         ADRES11=SPACE(25)                                                
                 ADRES21=SPACE(25)                                        
         DTARIH1="00/00/00"                                               
         TELEFON1=SPACE(7)                                                
         @0,5 TO 3,70 DOUBLE                                              
         @1,25 SAY "KAYITTA DEKLK"                                   
         @2,6 SAY "KNN SOYADINI GRN(ENTER IKI)";                  
                 GET SOYAD1 PICTURE "@15!"                                
         READ                                                             
         IF SOYAD1=SPACE(15)                                              
                 CLOSE DATABASES                                          
                 RETURN                                                   
         ENDIF                                                            
         SEEK SOYAD1                                                      
         IF .NOT. EOF()                                                   
                 CEVAP="H"                                                
                 @6,6 SAY "SOYAD........:" GET SOYAD PICTURE "@15!"       
                 @8,6 SAY "AD...........:" GET AD PICTURE "@10!"          
                 @10,6 SAY "ADRES1.......:" GET ADRES1 PICTURE "@25!"     
                 @12,6 SAY "ADRES2.......:" GET ADRES2 PICTURE "@25"      
                 @14,6 SAY "TELEFON......:" GET TELEFON PICTURE "@7!"     
           @16,6 SAY "DOUM TARH.:" GET DTARIH PICTURE "99/99/99"       
                 READ                                                     
                 @24,20 SAY "DEKLK KAYIT EDLSN M (E/H)";          
                         GET DEVAM PICTURE "@!1"                          
                 READ                                                     
                 IF DEVAM="E"                                             
                         REPLACE SOYAD WITH SOYAD                         
                         REPLACE AD WITH AD                               
                         REPLACE ADRES1 WITH ADRES1                       
                       REPLACE ADRES2 WITH ADRES2                         
                       REPLACE TELEFON WITH TELEFON                       
                       REPLACE DTARIH WITH DTARIH                         
               ENDIF                                                      
       ELSE                                                               
               @20,5 CLEAR TO 23,77                                       
               @20,5 TO 23,77 DOUBLE                                      
               @21,20 SAY "BU KAYIT DOSYADA YOK"                          
       @22,20 SAY "DETRLECEK BAKA KAYIT VARMI (E/H)";               
                       GET DEVAM PICTURE "@!1"                            
               READ                                                       
               IF DEVAM="E"                                               
                       LOOP                                               
               ELSE                                                       
                       RETURN                                             
               ENDIF                                                      
       ENDIF                                                              
       @24,20 SAY "GRLECEK BAKA KAYIT VARMI (E/H)";                    
               GET DEVAM PICTURE "@1!"                                    
       READ                                                               
 ENDDO                                                                    
 CLOSE DATABASES                                                          
 RETURN                                                                   
 ******************************************************************       
 PROCEDURE LISTE                                                          
 USE ADRES INDEX SOYADX                                                   
 SAYI=0                                                                   
 CLEAR                                                                    
 @0,0 TO 24,79                                                            
 @2,1 SAY "AD"                                                            
 @2,12 SAY "SOYAD"                                                        
 @2,27 SAY "ADRES 1"                                                      
 @2,53 SAY "ADRES 2 "                                                     
 @3,0 TO 24,79                                                            
 SATIR=4                                                                  
 DO WHILE .NOT. EOF()                                                     
         @SATIR,1 SAY AD PICTURE "@10!"                                   
         @SATIR,12 SAY SOYAD PICTURE "@15!"                               
         @SATIR,28 SAY ADRES1 PICTURE "@25!"                              
         @SATIR,54 SAY ADRES2 PICTURE "@25!"                              
         SATIR = SATIR + 1                                                
         SAYI=SAYI + 1                                                    
         IF SATIR=24                                                      
                 @24,47 SAY "LISTELENEN KAYIT SAYISI:"                    
                 @24,70 SAY SAYI PICTURE "9999"                           
                 @24,1 SAY "BIR TUSA BASIN [ESC-VAZGEC]"                  
                 BEKLE=INKEY(0)                                           
                 IF LASTKEY() = 27                                        
                         RETURN                                           
                 ELSE                                                     
                         @4,1 CLEAR TO 23,78                              
                         SATIR=4                                          
                 ENDIF                                                    
         ENDIF                                                            
         SKIP                                                             
         IF EOF()                                                         
                 @24,48 SAY "LSTELENEN KAYIT SAYISI.:"                   
                 @24,73 SAY SAYI PICTURE "999"                            
                 @24,1 SAY "DOSYA SONU - BIR TUSU BASIN"                  
                 BEKLE=INKEY(0)                                           
          ENDIF                                                           
 ENDDO                                                                    
 CLOSE DATABASES                                                          
 RETURN                                                                   
 ************************************************************             
 PROCEDURE YAZICI                                                         
 USE ADRES INDEX SOYADX                                                   
 SAYI=0                                                                   
 CLEAR                                                                    
 DO WHILE .T.                                                             
         IF .NOT. PRINTSTATUS()                                           
                 @2,20 SAY "YAZICINIZI HAZIRLAYIP BIR TUSA BASIN"         
                 BEKLE=INKEY(0)                                           
                 IF LASTKEY()=27                                          
                        RETURN                                            
                 ENDIF                                                    
         ELSE                                                             
                 EXIT                                                     
         ENDIF                                                            
 ENDDO                                                                    
 SET DEVICE TO PRINTER                                                    
 @2,1 SAY "AD"                                                            
 @2,12 SAY "SOYAD"                                                        
 @2,28 SAY "ADRES 1"                                                      
 @2,54 SAY "ADRES 2 "                                                     
 @3,0 SAY "---------------------------------------------------------------
 -----------" SATIR=4                                                     
 DO WHILE .NOT. EOF()                                                     
         @SATIR,1 SAY AD PICTURE "@10!"                                   
         @SATIR,12 SAY SOYAD PICTURE "@15!"                               
         @SATIR,28 SAY ADRES1 PICTURE "@25!"                              
         @SATIR,54 SAY ADRES2 PICTURE "@25!"                              
         SATIR = SATIR + 1                                                
         SAYI=SAYI + 1                                                    
         SKIP                                                             
 ENDDO                                                                    
 EJECT                                                                    
 SET DEVICE TO SCREEN                                                     
 @24,47 SAY "LISTELENEN KAYIT SAYISI:"                                    
 @24,70 SAY SAYI PICTURE "9999"                                           
 @24,1 SAY "BIR TUSA BASIN"                                               
 BEKLE=INKEY(0)                                                           
 CLOSE DATABASES                                                          
 RETURN                                                                   
 *******************************************************************      
 PROCEDURE SILME                                                          
 SET EXCLUSIVE ON                                                         
 USE ADRES INDEX SOYADX                                                   
 DEVAM="E"                                                                
 CEVAP="H"                                                                
 SET DELETED ON                                                           
 DO WHILE DEVAM=UPPER("E")                                                
         CLEAR                                                            
         SOYAD1=SPACE(15)                                                 
         @0,5 TO 3,70 DOUBLE                                              
         @1,25 SAY "KAYIT SLME"                                          
         @2,6 SAY "KNIN SOYADINI GRN(ENTER IKI)";                  
           GET SOYAD1 PICTURE "@15!"                                      
         READ                                                             
         IF SOYAD1=SPACE(15)                                              
                 CLOSE DATABASES                                          
                 RETURN                                                   
         ENDIF                                                            
         SEEK SOYAD1                                                      
         IF .NOT. EOF()                                                   
                 @6,6 SAY "AD SOYAD....:" GET AD PICTURE "@10!"           
                 @8,6 SAY "SOYAD.......:" GET SOYAD PICTURE "@15!"        
                 @10,6 SAY "ADRES1......:" GET ADRES1 PICTURE "@25!"      
                 @12,6 SAY "ADRES2......:" GET ADRES2 PICTURE "@25"       
                 @14,6 SAY "TELEFON.....:" GET TELEFON PICTURE "@7!"      
                 @16,6 say "DOUM TARH:" get DTARIH picture "99/99/99"  
                 CLEAR GETS                                               
                 @24,10 SAY "BU KAYIT DOSYADAN SLNSN M (E/H)";        
                         GET CEVAP PICTURE "@!1"                          
                 READ                                                     
                 IF CEVAP=UPPER("E")                                      
                         IF .NOT. DELETED()                               
                                 DELETE                                   
                         ENDIF                                            
                 ENDIF                                                    
         ELSE                                                             
                 @24,1 SAY SPACE(70)                                      
              @24,10 SAY "BU KAYIT YOK DEVAM EDECEK MSNZ(E/H)";        
                          GET DEVAM PICTURE "@1!"                         
                 READ                                                     
                 IF DEVAM=UPPER("E")                                      
                         LOOP                                             
                 ELSE                                                     
                         EXIT                                             
                 ENDIF                                                    
         ENDIF                                                            
         @24,1 SAY SPACE(70)                                              
         @24,10 SAY "SILINECEK BASKA KAYIT VAR MI";                       
                  GET DEVAM PICTURE "@1!"                                 
         READ                                                             
 ENDDO                                                                    
 @24,10 SAY " ARETLENEN KAYITLAR SLNSN M ";                         
                 GET CEVAP PICTURE "@1!"                                  
 READ                                                                     
   IF CEVAP=UPPER("E")                                                    
           PACK                                                           
   ENDIF                                                                  
   CLOSE DATABASES                                                        
   RETURN                                                                 


  Bu iki program parasnn ilev bakmndan birbirinden farkllklar yok.
  Aslna baklrsa DO CASE deyimi IF-ELSEIF-ENDIF deyiminin biraz
  basitletirilmi hali. imdi ise dBASE'in men oluturma deyim ve
  fonksiyonlarnn kullanld bir men rneini vereceim.

Ŀ
 DBO-11.DBF 
Ĵ
 SET TALK OFF                                                             
 SET SCOREBOARD OFF                                                       
 SET LDCHECK OFF                                                          
 CLEAR                                                                    
 DEFINE POPUP MENU1 FROM 6,20 TO 15,45                                    
 DEFINE BAR 1 OF MENU1 PROMPT " Yeni Kayt Girii "                       
 DEFINE BAR 2 OF MENU1 PROMPT " Kaytta Deiiklik "                      
 DEFINE BAR 3 OF MENU1 PROMPT " Ekrana Liste    "                         
 DEFINE BAR 4 OF MENU1 PROMPT " Yazcya Liste   "                        
 DEFINE BAR 5 OF MENU1 PROMPT " Kayt Silme    "                          
 DEFINE BAR 6 OF MENU1 PROMPT " Programdan k  "                       
 ON SELECTION POPUP MENU1 DO SECIMYAP                                     
 ACTIVATE POPUP MENU1                                                     
 DEACTIVATE POPUP                                                         
 RETURN                                                                   
                                                                          
 PROCEDURE SECIMYAP                                                       
 DO CASE                                                                  
         CASE BAR()=1                                                     
                 DO KAYIT                                                 
         CASE BAR()=2                                                     
                 DO DEGISIKLIK                                            
         CASE BAR()=3                                                     
                 DO LISTE                                                 
         CASE BAR() = 4                                                   
                 DO YAZICI                                                
         CASE BAR() =5                                                    
                 DO SILME                                                 
         CASE BAR()= 6                                                    
                 QUIT                                                     
 ENDCASE                                                                  
 RETURN                                                                   


  Yukarda verilen men rneinde, men seenekleri alt alta sralanyor.
  dBASE'de bu tr menlere POP-UP men ad verilmektedir. Bu nedenle
  meny tanmlamada kullanlan deyimin adnda da POPUP kelimesi var.
  Dolaysyla adnn iinde POPUP olan men oluturma deyimleri
  seenekleri alt alta sralanan  menler zerinde ilem yapmada
  kullanlmaktadr.

  dBASE program dahilinde men oluturma ilemleri drt aamada
  olmaktadr. imdi bunlar maddeler halinde vereceim:

1Men tanmlamada ilk yaplacak ilem mennn bellekte tanmlanmasdr. Eer
  tanmlanan men bir POPUP men yani seenekleri alt alta sralanan men ile
  meny tanmlamak iin kullanlan deyimin ad DEFINE POPUP. Bu deyimle hem
  men bellekte tanmlanr hem de mennn ekrandaki yeri belirlenir.

  Yukardaki rnekte tanmlanan POPUP mennn ad MENU1 olarak seildi. Ad
  MENU1 olarak seilen men ekrann 6. satr 20. stun ile 15. satr 45.
  stunlarnda bulunacaktr. Men adndan sonra mennn koordinatlarndan nce
  FROM balac kullanlr.

          DEFINE POPUP MENU1 FROM 6,20 TO 15,45

2Men tanmlama ve kullanma ile ilgili olarak yaplacak ikinci ilem mende
  yer alacak seeneklerin tek tek tanmlanmasdr. POPUP menlerde mende yer
  alacak seenekler DEFINE BAR deyimi ile tanmlanr. Mende yer alan her bir
  seenekten BAR diye sz edilir.

  Yukarda verilen rnek mende toplam 6 seenek olduu iin 6 adet DEFINE BAR
  deyimini ieren program satrn hazrlanmas gerekir. DEFINE BAR ile POPUP
  mennn seenekleri tanmlanrken hem sz konusu seenein veya BAR'n hangi
  POPUP menye ait olduu belirtilir hem de men seeneinin kendisi. Men
  seeneinin kendisini belirlerken PROMPT balacndan yararlanlr.

          DEFINE BAR 1 OF MENU1 PROMPT " Yeni Kayt Girii "
          DEFINE BAR 2 OF MENU1 PROMPT " Kaytta Deiiklik "
          DEFINE BAR 3 OF MENU1 PROMPT " Ekrana Liste    "
          DEFINE BAR 4 OF MENU1 PROMPT " Yazcya Liste   "
          DEFINE BAR 5 OF MENU1 PROMPT " Kayt Silme    "
          DEFINE BAR 6 OF MENU1 PROMPT " Programdan k  "

3Men tanmlama ve kullanm konusunda yaplan 3. ilem menden seim
  yapld zaman neler yaplaca veya programn hangi procedure veya PRG
  dosyasn araca ile ilgilidir. Bu yaplmazsa men tanmlamann bir
  anlam olmayacaktr. dBASE bu ekildeki men tanmlama anlay ile bir ok
  programcya ters gelmekle birlikte almak pek zor olmamaktadr. Bu nedenle
  konuyu uzun uzun anlatma gereini duyuyorum.

  Menden seim yapld zaman yaplacak ilemlerin neler olaca ON
  SELECTION POPUP deyimi ile belirlenmektedir. Yukarda verilen rnee gre
  menden herhangi bir seim yapldnda SECIMYAP adl yordam DO deyimi ile
  aktive edilecektir.

          ON SELECTION POPUP MENU1 DO SECIMYAP

4En son yaplan ilem ise mennn aktive edilmesidir. Men aktive
  edilene dein men ile ilgili olarak yaplan btn tanmlamalar bellekte
  kalr. lk  aamada yaplan ilemler sonucu tanmlaan Meny aktive
  etmek iin kullanlan deyimin ad ACTIVATE POPUP.

          ACTIVATE POPUP MENU1

  Mennn grevi bitince istenirse mennn bellekte yer kaplamamas iin
  men bellekten silinebilir. Bu amala kullanlan deyimin ad
  DEACTIVATE POPUP.

          DEACTIVATE POPUP MENU1

  Geriye kullancnn menden yapt seimi renmek kald. Bu amala
  kullanlan fonksiyonun ad BAR(). Bu fonksiyon yukardaki rnek
  mende SECIMYAP adl yordamn iinde kullanld.

  PROCEDURE SECIMYAP
  DO CASE
          CASE BAR()=1
                  DO KAYIT
          CASE BAR()=2
                  DO DEGISIKLIK
          CASE BAR()=3
                  DO LISTE
          CASE BAR() = 4
                  DO YAZICI
          CASE BAR() =5
                  DO SILME
          CASE BAR()= 6
                  QUIT
  ENDCASE
  RETURN

  BAR() fonksiyonu dardan herhangi bir parametre almadan kullanlr.
  Geriye ise herhangi bir POPUP menden en son yaplan seimin sra
  numarasn geriye dndrr.


























































































































































 