  Ŀ
  Ŀ
                                                                          
                      FoxPro for Windows Yaz Dizisi 1                    
                                                                          
  ٳ
                                                    Memik Yank             
  




                   FOXPRO LE WINDOWS PROGRAMLARI YAZMAK
                   


 Daha nce DOS ortamna ynelik olarak program yazanlar benzer programlar
 Windows uyumlu yapmak istediklerinde hem yapmalar hem de bilmeleri gereken
 konu ve kavramlarda artmalar olur. DOS ortamnda xBASE textine bal veri
 taban program gelitirme aralar dier program gelitirme aralar ile
 karlatrldklarnda xBASE veri taban program gelitirme aralarnn daha
 ksa srede renildii ve ksa srede program yazabildii grlecektir.
 Benzer durum Windows ortam iin de geerlidir.

 Her hangi bir program gelitirme arac ile DOS ortamnda program gelitiren
 birinin Windows ortam iin uzun uzun alma yapmas ve Windows ortamnda
 geerli olan ok sayda kavram renmesi gerekir. Ancak ayn durum
 FoxPro'nun Windows ortam iin geerli deildir. nk herkes tarafndan
 bilinen bir ka kavram hari FoxPro'nun DOS versiyonundan Windows versiyonuna
 gei iin ek bir almaya gerek yok. nk FoxPro DOS ile FoxPro Windows
 programlar bir ka deyim hari %100 uyumludur. Uyumsuzluk Windows'un sunduu
 ek imkanlardan kaynaklanyor. Bu nedenle Windows uyumlu program gelitirmek
 iin daha nceden xBASE textine bal herhangi bir program gelitirme aracn
 kullanm olanlar ksa srede FoxPro ile Windows uyumlu program yazabilirler.

 Benzer grler dbFAST ve yaknda piyasaya verilen dBASE For Windows ve
 CA-Visual Object(Clipper For Windows) iin de geerlidir. Dier taraftan bir
 Windows program gelitirme arac olarak FoxPro For Windows ile dBASE For
 Windows baz detaylar hari birbirleriyle uyumludur. Dolaysyla bu yazda
 belirtilen grler temelde hem dBASE hem de CA-Visual Object iin
 geerlidir.  nmzdeki aylarda benzer almalar hem dBASE For Windows hem
 de Visual Object iin yapacam imdiden veri taban programclarna
 duyurmak istiyorum.

 FoxPro For Windows, dBASE IV gibi hem bir veri taban program hem de bir
 veri taban program gelitirme arac. Hi program kodu yazmadan hem dBASE'den
 hem de FoxPro'dan yararlanmak mmkn. Baz kullanclar FoxPro'dan yalnzca
 bir veri taban program olarak yararlanrken bazlar da FoxPro'nun program
 gelitirme zelliklerini kullanyorlar.

 Btn modern program gelitirme aralarnda olduu gibi FoxPro'da ayrca
 program yazmn kolaylatran aralar da var. FoxPro'da kod yazmadan
 Menler, ekranlar, sorgular ve raporlar hazrlanabilir. Ancak kiisel gr
 olarak bir program gelitirme arac ile kod yazarak program gelitirmede
 belli bir dzeye gelmeden yardmc aralara bavurmamak gerekir. Zaten normal
 yollarda kod veya program yazma konusunda belli bir dzeye gelen programc
 kolay bir ekilde yardmc aralar kullanmay renebilir.

 FoxPro'yu altrmak zere FoxPro ikonunda tklama yaplacak olunursa
 FoxPro'nun bilgisayarn belleine yklenmesi tamamlannca ekrana al
 ekranndan sonra FOXPRO1.GIF'te verilen grnt gelir.

                Ŀ
                                           
                       FOXPRO1.GIF         
                                           
                

 Bu ekranda kullanc hem alan menlerden hem de komut penceresinden komut
 vererek istedii ilemleri yapabilir.

 FoxPro bir veri taban program olarak kullanlyorsa her trl komut ve
 ilemler iin FoxPro'nun alan menlerine bavurulabilir. FoxPro'nun men
 sistemine ilk kez girildiinde ekrann sa tarafnda, alan menlerden baka
 Command-komut penceresi bulunur. Bunu yukarda verilen ekran grntsnde
 tespit edebilirsiniz.

 Daha nce dBASE kullananlar bilirler. dBASE'de iki ortam var. Adna ASSIST
 men denilen birincisinde her trl ilemin yapld menler ve pencereler
 var. Dier ortamn ad ise DOT PROMPT, yani Nokta letisi. Nokta iletisinde
 kullanc yapmak istedii ileme uygun olarak komutlar yazar ve iletir.
 Nokta letisini DOS'un komut satrna benzetmek mmkn.

 Benzer durum FoxPro'da da var. Ancak FoxPro'da her iki ortam da ayn ekranda
 ayn anda bulunuyor. Kullanc men sisteminden ayrlmadan ister komut
 penceresinden yapmak istedii ileme uygun olarak komut yazp iletir,
 isterse alan menlerden komut seimi yapar. Komut penceresi kullanlmyorsa
 ekrandan kaldrlabilir. Bunun iin Komut penceresinin denetim dmesinde
 ift tklama yaplr ya da Window alan mensnden Hide komutu verilir.

 Ekrandan kaldrlan komut penceresini tekrar ekrana getirmek iin FoxPro'nun
 Window adl alan mensnden Command komutunu vermek yeterlidir.

                Ŀ
                                           
                       FOXPRO2.GIF         
                                           
                

 FoxPro Program yazmak veya program yazma ortamna gemek iin komut
 penceresinde MODIFY COMMAND deyiminden yararlanlr. Komut penceresinde her
 yaplmak istenen ilem iin gereken komutlar veya iletilmek istenen deyimler
 bir satra gelmek zere tek tek yazp iletilir. Aynen DOS ortamnda komut
 satrnda komut verme gibi. Komut penceresi de dier btn Windows uyumlu
 pencereler gibi bytlebilir, simge durumuna getirilebilir.

 FoxPro tarafndan salanan program yazm ortamnda sunulan imkanlar daha
 nceden herhangi bir Microsoft veya Windows uyumlu program kullananlar ok
 kolay renip kullanabilirler. Program yazm ortamnda dier Microsoft
 programlarnda kullanlan tu vurularnn hepsi geerlidir.

                Ŀ
                                           
                       FOXPRO3.GIF         
                                           
                

 Program yazm ortamnda program penceresi ak iken bile alan menlerden
 komut vermek, baka bir program altrmak mmkn ama biz bu almada
 dBASE geleneine uyup program Save-kayt edip tekrar Komut Penceresine dnp
 DO deyimi ile program altracaz. Bunun iin FoxPro'nun File alan
 mensnden Save komutu verilir.

 File alan mensnden Save komutu verildii zaman zerinde allan program
 diske kayt edilir ama yeni program yazm ortamnda kalnr. Tekrar komut
 penceresine dnmek iin ayrca File alan mensnden Close komutunu vermek
 gerekir. Kendim program yazmay tamamladktan sonra aktif pencereyi kapatmay
 salayan CTR-F4 tularna basyorum. Bunun zerine ekrana zerinde allan
 programda deiiklik yapldn ve bu deiikliklerin kayt edilip
 edilmeyecei konusunda kullancya soru yneltilir. Bu soruya evet-yes cevab
 verilecek olunursa programn en son hali diske kayt edilir ve tekrar komut
 penceresine dnlr.

 PRG uzantl FoxPro programn altrmak iin programclar daha ok komut
 Penceresinde DO deyiminden yararlanrlar. Bunun iin komut penceresinde
 "DO Program Ad" yazp enter tuuna basmak yeterlidir.  Herhangi bir FoxPro
 programn altrmak iin kullanlabilecek ikinci yntem FoxPro
 menlerinden yararlanmaktr. Bunun iin FoxPro'nun Program adl alan
 mensnden DO komutu verilir.

                Ŀ
                                           
                       FOXPRO4.GIF         
                                           
                

 Program mensnden DO komutu verildiinde ekrana bir diyalog kutusu iinde
 aktif srcnn aktif dizininde bulunan altrlabilir programlar
 listelenir. Kullanc bu listeden altrmak istedii program seip
 altrabilir. altrmak istedii program baka bir src veya dizinde
 ise standart Windows diyalog kutularndaki gibi src ve dizin deiiklii
 yaplabilir.

                Ŀ
                                           
                       FOXPRO5.GIF         
                                           
                

 Komut Penceresinde daha nce yazlan herhangi bir PRG uzantl program DO
 deyimi ile altrlrsa program nce derlenip FXP uzantl obje kodu
 oluturulur. Ardndan ek bir ilem yapmaya gerek kalmadan program
 otomatik olarak altrlr. Programn almas bitince tekrar Komut
 Penceresine dnlr.







                         WINDOW KAVRAMI
                         

 Windows uyumlu program yazma konusunda en nemli kavramlardan biri pencere
 veya ingilizcesi ile Window'dur. DOS ortamna ynelik program gelitirme
 aralarnda pencere olarak ekrann tm kullanlyordu. Ayn anda birden
 fazla program altrma veya pencereyi ak tutma imkan yoktu. dBASE IV ve
 FoxPro'nun DOS versiyonunda yine pencere kavram var ancak bu pencerelerin
 zellikleri snrlyd.

 Windows uyumlu bir pencereyi simge durumuna getirmek, pencerenin ekran
 kaplamasn salamak ve pencerenin yerini deitirmek mmkn. Windows
 uyumlu programlar, kullancya bir pencere iinde sunulduklar iin ve daha
 dorusu Windows bunu bir zorunluluk haline getirdii iin FoxPro ile Windows
 ortam iin program gelitirmeye soyunanlarn pencere kavram hakknda en
 bandan bilgi sahibi olmalar gerekir.

 Aada verilen ekran grntsnde FoxPro penceresi var. FoxPro penceresi
 ekrann hemen hemen tmn kaplam durumda. Pencerenin evresinde ok az
 boluk var. Yani FoxPro penceresi ekran kaplam durumda deil. Ekrann
 evresindeki boluklar gsterebilmek iin ekran grntsn ayrca izgili
 bir ereve iine aldm. Bu ekran grnts alnd zaman FoxPro
 penceresinde komut penceresi kapatlm durumdayd.

                Ŀ
                                           
                       FOXPRO6.GIF         
                                           
                

 imdi verilen ekran grntsnde hem FoxPro'nun ekran kaplamas saland hem
 de sistem menleri ekrandan silindi. Bunu unun iin veriyorum: FoxPro ile
 program yazarken bilgi giri ve knda kullanlacak alan gstermek iin.

                Ŀ
                                           
                       FOXPRO7.GIF         
                                           
                

 Bu kesikli izgilerden meydana gelen ereve ile snrlanan pencereyi
 programc istedii gibi kullanabilir.  Pencerenin bal "Microsoft FoxPro".
 Pencerenin sol st kesindeki dmenin ad denetim dmesi. Bu dmede fare
 ile tek tklama yaplrsa pencereye ait Denetim Mens alr. Bu mende
 pencere Minimize komutu simge durumuna getirilebilir, Maxmize ile ekrana
 kaplamas salanabilir, Close ile pencere kapatlr. Denetim Dmesinde ift
 tklama yaplrsa pencere kapatlr. Pencerenin sa st kesinde ucu aa
 bakan ok iareti ile pencere simge durumuna, iinde bir ucu aa bir ucu
 yukar bakan iki ok bulunan dme ile pencere bir nceki haline getirilir.
 Ŀ
                                                     
     DEFINE WINDOW Kutu From 4,10 TO 20,70;          
             SYSTEM MINIMIZE GROW;                   
                      ZOOM TITLE "Pencere"           
     ACTIVATE WINDOW Kutu                            
     @10,10 SAY "FoxPro 2.6 For Windows"             
     WAIT WINDOW "Devam in Bir Tua Basn"         
     DEACTIVATE WINDOW Kutu                          
     RETURN                                          
                                                     
 
 Bu program paras program yazm ortamnda yazlp diske kayt edilip komut
 penceresinde DO deyimi ile altrlrsa aada verilen ekran grnts
 alnr.  Program yazm srasnda aktif pencereye smayan program
 satrlarnn devamn bir alt satra yazmak iin pencereye smayan satrn
 sonuna ";" iareti konulur.

                Ŀ
                                           
                       FOXPRO8.GIF         
                                           
                

 rnek programdan tespit edilecei zere Windows tr pencereler DEFINE WINDOW
 deyimi tanmlanp ACTIVATE Window deyimi ile ekrana getiriliyor, aktive
 ediliyor. Aktive edilen bir pencereyi ekrandan silmek iin DEACTIVATE WINDOW
 deyimini kullanmak gerekir.

 Pencere tanmlama satrndaki SYSTEM parametresi pencerenin Windows tipli
 olmasn salarken Minimize pencereye simge durumuna gelebilme zellii,
 Maximize parametresi pencereye ekran kaplayabilme zelliini vermektedir.

 Tanmlanan ve aktive edilen Kutu adl pencerenin 10. satr ve 10. stununa
 "SAY" deyimi yardmyla "FoxPro 2.6 For Windows" bilgisi yazdrlyor.
 FoxPro'da dier programlama dillerinin tersine ilk satr ve stun numaras
 1 yerine 0'dan balar. @SATIR,STUN SAY "Yazdrlacak Bilgi" eklinde formle
 edilebilecek yazmda "@" karakterinden sonra yazlan ilk rakam pencerenin
 bilgi yazlacak yerin satr deerini, ikinci rakam stun deerini temsil
 etmektedir.

 WAIT WINDOW deyimi ile programn iletimi kullanc bir tua basncaya kadar
 bekletilir. WAIT WINDOW deyiminden sonra trnak iinde yazlanlar Foxpro
 penceresinin 1. satrna yazdrlr. WAIT deyimi parametresiz olarak
 kullanlrsa bu kez FoxPro penceresinin 1. satrna "Press any key
 Continue..." mesaj yazdrlr. Eer WAIT deyimi WAIT WINDOW " "  eklinde
 kullanlrsa ekrana hi bir mesaj verilmeden programn almas herhangi bir
 tua baslncaya kadar askya alnr. Return deyimi ise programn sonunu
 belirtmektedir.

 Pencere aktif iken kullanc pencerenin sol st kesinde tklama yapar veya
 Alt tuuna basarsa pencerenin denetim mens alr. Bu mende pencere
 zerinde yaplabilecek ilemleri temsil eden komutlar bulunur.

                Ŀ
                                           
                       FOXPRO9.GIF         
                                           
                

 Pencerenin sa st kesinde iinde ucu yukar bakan ok iareti olan dmede
 tklama yaplacak olunursa pencerenin boyutlar deiir ve pencere btn
 ekran kaplar. Ayn  etkiyi salamak iin istenirse denetim mensndeki
 Maxmize komutundan yararlanlabilir.






                           FONT KULLANIMI
                           

 Yukardaki program satrlarnda ekrana bilgi yazlrken yazlarn bykl
 konusunda herhangi bir seim yaplmad. Yazlarda varsaylan Font ve yaz
 bykl kullanld. Konu Windows ortamnda programclk olduunda Font
 kullanm ok nemli olmaktadr.

 FoxPro programlar dahilinde kullanlmak istenen Fontun daha nceden
 Windows'a yklenilmi veya tantlm olmas gerekir. Bundan u sonucu
 karabilirsiniz: Dier btn Windows uyumlu programlar gibi FoxPro
 programlar dahilinde sisteme dahil edilen btn Fontlar kullanma imkan
 var.

 imdi daha nce verilen ve ekrana yalnzca sabit bir bilgiyi, tanmlanan ve
 aktive edilen pencerenin belirtilen yerine yazan programn font kullanlan
 eklini vereceim.
 Ŀ
                                                     
    DEFINE WINDOW Kutu From 6,10 TO 20,70 ;          
            SYSTEM MINIMIZE GROW;                    
                     ZOOM TITLE "Pencere"            
    ACTIVATE WINDOW Kutu                             
    CLEAR                                            
    @6,5 SAY "FoxPro 2.6 For Windows";               
                     FONT "Arial",26                 
    WAIT WINDOW "Devam in Bir Tua Basn"          
    DEACTIVATE WINDOW Kutu                           
    RETURN                                           
                                                     
 

                Ŀ
                                           
                       FOXPRO10.GIF        
                                           
                

 Kelime ilem programlar kullanlan Fontun Punto deerine bal olarak satr
 yksekliini otomatik olarak ayarlarlar. Bu durum FoxPro programlarnda SAY
 deyimi ile ekrana veya yazcya bilgi yazmnda geerli olmad iin SAY
 deyimi iin satr deeri verilirken kullanlan fontun punto deerini gz
 nne alnmaldr.  Aada verilen rnekte satr ykseklii gerei kadar
 arttrlmad iin satrlar birbirinin zerine geldi.
 Ŀ
                                                     
    DEFINE WINDOW Kutu From 6,10 TO 20,70;           
            SYSTEM MINIMIZE GROW;                    
                     ZOOM TITLE "Pencere"            
    ACTIVATE WINDOW Kutu                             
    CLEAR                                            
    @6,5 SAY "FoxPro 2.6 For Windows";               
                     FONT "Arial", 20                
    @7,5 SAY "Microsoft Windows 3.1";                
                     FONT "Arial",20                 
    WAIT WINDOW "Devam in Bir Tua Basn"          
    DEACTIVATE WINDOW Kutu                           
    RETURN                                           
                                                     
 
                Ŀ
                                           
                       FOXPRO11.GIF        
                                           
                

 Bilgi giri ve k ilemlerinde Font ve yaz byklnden baka istenirse
 girii veya k yaplan bilginin koyu yazlmas, alt izili olmas veya
 italik yaplmas salanabilir. Bu ilemleri yapabilmek iin SAY deyimine FONT
 deyimi gibi STYLE deyimi eklenir. Bunu aada verilen rnekte tespit
 edebilirsiniz.
 Ŀ
                                                         
    DEFINE WINDOW Kutu From 6,10 TO 20,70;               
             SYSTEM MINIMIZE GROW ;                      
                    ZOOM TITLE "Pencere"                 
    ACTIVATE WINDOW Kutu                                 
    CLEAR                                                
    @4,5 SAY "FoxPro 2.6 For Windows" ;                  
                    FONT "Arial", 20 STYLE "BU"          
    @8,5 SAY "Microsoft Windows 3.1";                    
                     FONT "Arial",20 STYLE "IU"          
    WAIT WINDOW "Devam in Bir Tua Basn"              
    DEACTIVATE WINDOW Kutu                               
    RETURN                                               
                                                         
 
 rnek programda k yaplmak istenen bilginin koyu yazlmas iin
 bold-koyu anlamnda "B" harfi, italik anlamnda "I" harfi ve underline-alt
 izili anlamnda "U" harfi kullanld.

                Ŀ
                                           
                       FOXPRO12.GIF        
                                           
                