Class modlleri ise zel metot ve zellikleriyle yeni bir nesne yaratmak iin kullanilir. Btn modller su bilesenleri ierir: Declarations tanimlamalar Procedures yordamlar. Tanimlamalar; verilerin tanimlandiklari alanlardir. Modln en basinda olan bu kisimda sabitler, degiskenler, dinamik baglanti ktphaneleri tanimlanir. Procedure'ler ise Sub, Function ya da Property olmak zere bir blok kodu ifade ederler.
Procedure'larin bir diger zelligi de bir seferde isletilmeleridir. Form mo dlleri olay yordamlarini, genel yordamlari, ayrica form dzeyinde veri tanimlamalarini ierir.
Sekil 4. Standart Modller Standart modller KAS dosya uzantili uygulama ierisindeki diger modllerden de ulasilabilen yordam ve tanimlamalari ierirler. Bu modller uygulamanin her yerinden erisilebilen global ya da modl dzeyinde tanimlamalari ierirler. Burada yazilan kodlar belli bir uygulamaya ait olmak zorunda degildir. Standart modller birok uygulama tarafindan kullanilabilir. Class modllerinde yazilan kodlarla yeni nesneler yaratilir. Bu nesneler kendi zel metot ve zelliklerine sahiptirler.
Class'lar program iinde kullanilan birimlerdir. Class'lar yeniden kullanilabilir nesneler yaratirlar. Bir class, veri islemek iin procedure'lari ierir. Visual Basic kontrolleri de birer class'tirlar. Btn programlarda yer alirlar. Class kullaniminin iki yolu vardir. Birincisi program iinde yeniden kullanilabilir nesneler yaratmak. Bir Class modl yaratildiktan sonra kendi "zelliklerinizi" yaratabilirsiniz.
Bir proje iinde yaratilan Class modlne sadece o proje iindeki modllerden veformlardan erisilir. Ancak ActiveK olarak dzenlenen class'lara diger projelerden de erisilebilir. Bir Procedure un Yazilmasi Bir proje iinde bir form zerinde bir kontroln yerlestirilmesinin ardindan penceresine geilir ve form modl iinde procedure ler yazilir. Her modl penceresi bir kod editr olarak kullanilir.
Nesne listesinden bu blmlere ge mek mmkndr. Bir form modlnde nesne listesi form iinde yer alan kontrolleri ve onlarin esitli olaylara gre sahip olduklari olaylara gre kodlari ierir. Kod editr olarak kullanilan modl penceresi iinde ok sayida yordam yer alir. Bu yordamlara Procedure listesinden ya da Object listesinden erisilebilir. Standart modllerde ise sadece genel kesim yer alir. Class modlleri sadece kendisinin baslatip sonlandirabilecegi olay yordamlarini ierirler.
Standart modller ise olay yordamlari iermezler bu nedenle sadece General blmnde tanimlamalara ve genel amali yordamlara sahiptirler. Bu blmde degiskenler, sabitler ve DLL tanimlama lari yapilir.
Sub ve Function'lar eklendike Procedure listesine eklenirler. Iki Ayri Grnm Kod editr penceresinde bir procedure ya da btn procedure'lar olmak zere iki grnm sekli vardir. Procedure View grnmnde; kod penceresinde sadece bir procedure yordam grnr.
Full Module View grnmnde btn procedure'lar grlr. Grnmler arasi geiste modl penceresinin sol alt ksesinde yer alan dgmeler kullanilir. Yapilacak islemler birer yordam olarak tasarlanirlar. Yordamlar bir program blogu ya da bir program parasi olarak dsnle bilir. Program tasariminda yararlarini saymakla bitiremeyecegimiz yordamlarin yararlari: Yordamlar program islevlerinin; birbirinden bagimsiz kk birimlere blnmesini saglar.
Yordamlar olaylara baglanarak olay temelli programlamayi olusturur. Yordamlar program bloklarinin diger programlarda da kullanilmasini saglar. Yordamlar birbirlerini kolayca agirabilir. Yordamlar istenildigi kadar yinelenebilir.
Visual Basic de degisik trde yordamlar procedure kullanilir: Sub, Function, Property. Bir Sub yordami herhangi bir deger dndrmez. Function yordamlar ise bir deger dndrrler. Property yordamlar ise bir deger dndrrler, atama yaparlar ve nesnelerin referanslarini dzenlerler. Sub yordamlar standart modller, class modller ve form modlleri iinde yer alirlar. Sub yordamlar varsayim olarak btn modllerde Public tanimlanir. Bunun anlami bu yordamlarin uygulamanin her yerinden diger modllerden agirilabilmesldir.
Argmanlar ise tanimlanan bir degisken gibidir. Visual Basicte yordamlar procedure ikiye ayrilirlar: Genel yordamlar, Olay yordamlari. Genel Yordamlar Bir genel procedure bell i bir islemi stlenen program parasidir. Genel yordamlar diger yordamlardan agrilirlar. Bylece belli bir islevi olan bu birim programin her yerinden istenildigi kadar agrilarak kullanilir.
Buna karsin olay yordamlari ise kullanicinin yarattigi bir olay nedeniyle alisir. Olay yordamlari kullanicilarin hareketlerine tepki olarak agrilirlar.
Iyi bir programlama stratejisi iinde bir takim ortak grevler genel yordamlar olarak planlanmalidir. Bylece kod tekrarina gerek kalmaz.
Olay Yordamlari Olay yordamlari bir olayin event olusmasina tepki olarak alisirlar. Visual Basic nesneleri formlar, metin kutulari, dgmeler, vb belli olaylari tanirlar. Bylece olay olustugunda; o olay iin hazirlanmis olay yordami alisir. Bir tusa basmak. Farenin bir tusuna basmak. Bu adlar Visual Basic kod editr tarafindan otomatik olarak ya da manueL olarak olusturulur. Bu islem iin kod editr penceresinde nesne ve olay seilir.
Kod editr penceresinde Object kutusundan istediginiz nesneyi sein. Procedure kutusundan istediginiz prosedr sein. Sub prosedrnz hazir. Fonksiyonlar Visual Basic procedure'lari sadece Sub olarak dzenlenmez. Bir diger procedure yapisi da Function olarak bilinen fonksiyonlardir. Bir procedure olarak dzenlenen fonksiyonlar belli bir islemi kod olarak ieren ve bir degeri geri dndren program paralaridir. Bir yordam olarak yaratilan, fonksiyonlarin Sqr, Val gibi Visual Basic'te hazir olarak bulunan fonksiyonlarla iliskisi yoktur.
Fonksiyonlar kullanim bakimindan bir islemi yapan ve istenildigi yerde kullanilabilen bir kod birimidir. Bir fonksiyon yordaminin yapisi: [Private lPublic][Statc] Function yordam adi argmanlar [As tip] -deyimlerEnd Sub Fonksiyonlar ayri bir yordam olarak dzenlenirler. Fonksiyonlarin kullaniminda argmanlar nemlidir.
Fonksiyonlar argmanlari alirlar, bir dizi. Sub yordamlar ile Function yordamlar arasinda farklar sunlardir: Bir fonksiyon deger dndrr ve genellikle bir esitligin saginda kullanilir. Bir sub ise belli bir isi yapar. Islemi tamamlar bir deger ya da parametre ile kullanim zorunlulugu yoktur. Fonksiyon yordamlar bir degeri elde etmemizi saglarlar. Fonksiyonlar degisken gibi veri tipine sahiptirler. Bu veri tipi, dnecek veri tipini belirler. Fonksiyonlar bir hesaplamanin parasi da olabilirler.
Yeni Bir Yordam Yaratma Olay temelli gelistirilen kod yazma ortaminda bir procedure yaratmak olduka kolaydir. Bir genel yordam yaratmak. Bir olay yordami yaratmak. Burada yordam yazilir. Yordamlarin agirilmasi Olay temelli yordamlar bir olayla iliskilidir.
Olay yordamlarinin alistirilmasinin yani sira diger yordamlarin alistirilmasi iin de agrilma call islemi kullanilir. Ancak Call deyimi kullanilmadan da sadece yordamin adini yazmak yeterlidir. Yapisi: Call yordam adi parametreler ya da Yordam adi parametreler. MoveNext If. Yani bir yordam ayni modl iindeki diger bir yordami agirabilir. Bir yordamin diger modllerden de agirilabilmesi iin Public olarak tanimlanmasi gerekir.
Diger modllerdeki yordamlari agirmak iin kullanilacak szdizimi yordamin form, standart modl ya da class modlde olmasina gre degisir. Parametre Kullanimi Bir procedure'dan diger bir procedure 'e deger geirmenin iki yolu vardir. Referans ve deger olarak. Genellikle referans biimi kullanilir. Kendisi bir deger ve ona bir bellek alani ayirmaz. Geirilen bu degere yerel bir bellek ayrilir ve karsilik gelen argmani bu degere kopyalar. Call Form1. DosyaGonder argmanlar. Class Modllerindeki Yordamlari agirmak Diger bir class modlnde yer alan yordami agirmak iin da Class modlnn adi ve yordam belirtilir.
Standart Modllerdeki Yordamlari agirmak Diger bir standart modlde yer alan yordami agirmak iin ise modln adi ye yordam belirtilir. DosyaGnder argmanlar Eger yordami adi uygulama iin de tek unique belirtilmesine gerek kalmadan yordamin adi yazilir. Kendi-Kendini agirma Procedure'lar degiskenleri iin sinirli bir bellek alanina sahiptirler. Bir procedure kendini agirdiginda daha fazla bellek alanina gereksinim duyulur. Iste procedure'larin kendilerini agirma islemi ne z-yineleme recursive procedure denir.
Eger bir procedure kendisini srekli agirmaya devam derse; eger herhangi bir kontrol konulmamissa o zaman hata verir. Fonksiyon istenilen faktriyel sayisini hesaplamak iin belli sayida kendini agirir. Ancak bu prosedrlerin iyi bir sekilde test edilmesi gerekir. Aksi takdirde kullanimda sorunlar olusabilir. Bunun iin: Gereksz degisken tanimlamalari nlenmelidir. Variant tipli degisken disinda bir degisken kullanilmalidir.
Kod Yazma Kurallari Buraya kadar bir Visual Basic programinin yapisini ve kodlanmasini temel olarak grendik. Bu konuda ise bir prosedrn kod editrnde yazilirken kurallar ve kullanilabilecek olanaklar yer almaktadir. Otomatik Kod Tamamlama Otomatik kod tamamlama program yazmayi sanki bir "bosluklari doldurun" formu gibi kolaylastirmistir. Kod szckleri yazildika zellikler, metotlar kendiliginden bir liste olarak karsiniza gelir. Buradan istediginizi seebilir ve kodu yazmaya devam edebilirsiniz.
Otomatik tamamlama seenekleri Options iletisim kutusunda yer alan Editr sekmesinden dzenlenir. Kod iinde kontroln adi girildiginde AutoListMembers zelligi bir liste ile olasi zellikleri grntler. Seilen eleman TAB tusuna basilarak program satirina alinir. Otomatik tamamlama zellikle kullanilan nesnenin zellikleri ve metotlari bilinmiyorsa ise yarar.
Degiskenlerin tanimlanmasini zorlar. Bu seenekte "Option Explicit" satiri modln basina eklenir. Yazilan kod bilesenini tamamlar. Fonksiyonlar ve parametreleri hakkinda zerinde bulunulan degiskenin degeri listeler.
Yazilan kod satirlarinin st satira gre ieriden Baslamasini saglar. Sekme ieriden baslama genisligini ayarla r. Bir procedure ya da btn procedure'larin grnmesini saglayan grnm dzeni. Her bir procedure arasinda izgi olmasini saglar. Bu dzenleme Auto List Members zelliginin seilmemesiyle bu zellik ortadan kaldirilir. Auto Quick zelligi ise deyimlerin ve fonksiyonlarin szdizimini gsterir. Bir Visual Basic deyiminin rnegin Msgbox adi yazildiginda szdizimi ayni satirda hemen grlr.
Deyimin ya da fonksiyonlarin argmanlari girildike bir sonraki kalin olarak grlr. Bu dzenleme Auto Ouick Info zelliginin seilmemesiyle bu zellik ortadan kaldirilir.
Kod penceresini gsterir. Object browser'i gsterir. Koda Aiklamalar Eklemek Yazilan kod satirlarin hakkinda nce ya da sonra bir aiklama yapmak iyi bir aliskanliktir. Visual Basic'te aiklama yapmak iin tek tirnak kullanilir. Dim A As Integer ' bu da bir aiklamadir. Bu satirlar Visual Basic derleyicisi tarafindan isletilmezler. Sub bilgial Bu yordamda ekrandan bilgi alinir.
Bylece program satirlarinin daha anlasilabilir olmasi saglanir. Satir sonlarinda herhangi bir sonlandirici karakter kullanilmaz. Ancak yine birden ok deyimi bir satir olarak dzenlemek istersiniz. Bu durumda satir sonu karakteri olarak iki nokta st ste karakteri kullanilir. Visual Basic'te Adlandirma Visual Basic ile program yazmada adlandirma naming islemini ok yapariz. Bir degiskenin tanimlanmasi, bir Sub ya da Function'a ad vermek birer adlandirma islemidir.
Visual Basic'te adlandirma kurallari: Bir harf ile baslamalidirlar. Nokta iermezler. Kontrol adlari, form adlari, class ve modl adlari 40 karakteri gemez. Bir Visual Basic deyimi adlandirmada kullanilmaz. Bir Visual Basic deyimi rnegin MsgBox, bir ad olarak programin bir yerinde kullanilamaz.
Bu szcklere kisitli szckler restricted keywords denir. Aslinda kisitli szcklerin programin adlandirilmasinda kullanilmasi iyi bir davranis degildir. Ancak yine de istenirse kisitli szckler zel bir belirtimle kod iinde ad olarak kullanilabilir. Bir form ya da ko ntrole kisitli bir szcgn ad olarak verilebilmesi iin kseli parantez ya da hiyerarsik grnmde gsterilmesi gerekir. Ya da; Musteri. Bunun disinda kseli parantezler diger tip ktphanelerden degiskenlerin kullanilmasinda kisitli szcklerle karistirilmamasini saglarlar.
NOT: Visual Basic'te kodlama kk harfle yapilir. Eger degiskenlerin bir kismi b yk harfle yazilirsa o zaman eslesen degiskenlerde byk harfe evrilir. Deyimler Deyimler statements programlama dilinin komutlaridir.
Bir islemin yapilmasini saglarlar. Deyimler nesnelerden bagimsiz olarak yalniz baslarina yazilarak kullanilirlar. Then birer Visual Basic deyimidir. Programda veri tanimlamalarinin yani sira belli islemlerin yapilmasi iin deyimler kullanilir. Deyimleri belli islemleri yerine getirmesi bakimindan su sekilde siniflandirabiliriz: Tanimlama deyimleri. Atama deyimleri. Aritmetik islem deyimleri.
Program denetimi deyimleri. Kullanici ile iletisim deyimleri. Tanimlama deyimleri verilerin tanimlanmasini saglar. Bunlarin basinda Dim deyimi gelir. Atama deyimleri ise degiskenlere deger verilmesini saglar.
Bir degisken tanimlandiktan sonra ona deger vermek gerektiginde atama deyimi kullanilir. Atama deyimi bildigimiz esittir isaretidir. Text Text2. Aritmetik Islemler Programlarda yaygin bir biimde sayisal islemler yapariz. Bu islemler iin aritmetik isleler arithmetic operators kullanilir. Bir ortalama, bir ara toplam bir bakiyenin hesaplanmasi aritmetik islemler gerektirir.
Toplama ve ikarma islemi iki basit matematik islemidir. Visual Basic programinda ok sayida sayiyi, ifadeyi birbiri ile toplayabilir ve ikarabilirsiniz. Ancak ikarma isleminde bu sira su sekildedir. Ardindan kalandan nc sayi ikartilir. Bylece islemler soldan saga dogru gider. Ardindan 8'den 5 ikartilir. Ve sonu olarak 3 kalir. Uzun ya da karmasik toplama ve ikarma islemleri para para yapilabilecegi gibi parantezler iinde de yapilabilir.
Sayilar sirasiyla arpilir ve toplam elde edilir. Normal blme islemi floating-point division olarak bilinir bir sayinin digerine blnmesidir. Sonu genellikle noktali bir sayidir. Tamsayi blme isleminde ise blm sonucunun tamsayi kismi dndrlr. Mod islemi ise blme islemindeki kalani verir. Aritmetik ifadelerde parantez kullanimi nceligi belirleyen asil faktrdr. Ancak parantez kullanilmiyorsa o zaman operatrlerin ncelikleri islemlerin sonularini etkiler. Bir ifade iinde bilesenler soldan saga dogru islenirler.
Btn alt gruplar hesaplandiktan sonra ka lan soldan saga dogru degerlendirilir. Bunun yerine su ifade. Metotlar Deyimlerin yani sira Visual Basic'te programa hayat yermek iin metotlar methods kullanilir. Metotlar nesnelere belli islemleri yaptirmayi saglarlar. Onun hareketleri metotlarini olusturur.
Bir arabanin davranislari ise sunlardir: Araba. Ileri Araba. Geri Araba. Dur Dikkat edersek arabanin eylemleri sadece bir komut gibi alisir. Ileri deyimi arabanin ileri hareketini gsterir. Bu deyime metot method denir. Dur End Sub Yukaridaki rnekte araba hareket eder, birtakim zellikler kazanir ve sonra durur. Iste arabaya ne yaptirilacaksa bir metot ya da bir zellikle yaptirilir. Iste bir siparis programi yazacaksaniz; form zerindeki bilgi alanlarindan yararlanirken veri girisi, hesaplama, kayit vb btn islemleri birer olay olarak dsnp, olayin gereklesmesinin ardindan birtakim islemler metotlar yapilir ve birtakim degerler kazanilir.
Araba Araba Araba Araba. Araba nesnesinin renk zelliginin degeri Red'mis. Iste arabaya ne yaptirilacaksa bir metot ya da bir zelikle yaptirilir. Set Picture1. BMP dosyasi yklenir gsterilir. Asagidaki deyimle ise bu resim dosyasi bosaltilir.
With Deyimi Visual Basic'te zellikle zelliklerin properties dzenlenmesinde kullanilan bir deyim vardir. With deyimi bir nesnenin ya da bir kullanici tanimli degiskenin bir dizi deyim iin bir kez belirtilmesini saglar. With deyimi sayesinde prosedrler daha hizli alisirlar ve kod yazma zamani azaltilir ve etkinlestirilir.
AddItem "orbalar" Combo1. AddItem "Tatlilar" Combo1. AddItem "Yemekler" Combo1. AddItem "Ikiler" Combo1. AddItem "orbalar". AddItem "Tatlilar". AddItem "Yemekler". AddItem "ikiler". Olaylar Visual Basic programlarinin alismasinda olaylar events ok nemlidir. Olaylar genellikle bir isle min baslatilmasi tetiklenmesi iin kullanilirlar. Y aygin olarak kullanilan olay bir kontrole rnegin bir komut dgmesine tiklamaktir click.
Burada olay "click" tir. Olay yordamlari bir olayin event olusmasina tepki olarak alisirlar. Olay yordamlari, bir nesnenin alt tire ile olaylara bagli olarak gelistirilir. Bu adlar Visual Basic kod editr tarafindan otomatik olarak ya da manuel olarak olusturulur. Komut dgmesine tiklamak click kullanici temelli bir olaydir.
Bu olay nesne temellidir. Asagidaki rnekte Text1 kontrolne. Sub Tex1. GotFocus Text1. LostFocus Text1. Veri Elemanlarinin Tanimlamalari Bir programda geici olarak verilerin temsili ve degerlerin saklanmasi iin degiskenlere gereksinim duyulur. Iste bu nedenle birok programlama dilinde oldugu gibi Visual Basic'te de geici degerlerin saklanmasi iin degiskenler variables kullanilir. Degis kenlerin mutlaka bir adi ve tipi vardir.
Msteri adini temsil iin ADI degiskeni. Degiskenlerin yani sira program iinde bir takim sabit degerlerinde temsili de gerekir. Degiskenler Degiskenler program iinde yer alan geici veri alanlarini diger bir deyisle bellekteki yerlerin adlarini temsil ederler. Daha sonra bu ara toplami diger bir deger ile karsilastiracaksiniz ve veritabanina yazacaksiniz diyelim.
Iste bu sre iinde birok degiskene gereksinim duyulur. Degiskenlerin kullaniminda; degiskenler tanimlanirlar, degerler alirlar deger atamasi. Ardindan procedure'in ya da formun kapanmasiyla bellekten silinirler. Bu nedenle degiskenler iin geici temporary sifati kullanilir. Degiskenlerin Tanimlanmasi Bir degisken kullanilmadan nce tanimlanir. Bu tanimlama genellikle Dim deyimi ile yordamin basinda yapilir:. Genellikle modln ya da procedure'in basinda ver alir.
Degisken ise bilginin adini gsterir. Tip ise degiskenin tipini gsterir. Bir degisken i erdigi veri bakimindan farkli zelliklere sahip olabilir. Tamsayi ya da gerek sayi gibi. Bir degiskenin zellikleri: Bir harf ile baslar. En ok karakterden olusur. Nokta iermez. Kapsama alani iinde tek olmalidir. Degiskeni bir formun, standart ya da class modlnn Declarations blmnde tanimlamak. Bu tanimla ma ile degiskene formun ya da modln her yerinden erisilebilir. Bir degiskeni Public szcg tarafindan kullanilabilir yapar.
Yerel bir degiskenin Static szcg ile tanimlanmasi onun degerinin ieriginin procedure'in sonlanmasina ragmen srmesine neden olur.
Genel olarak bir Visual Basic programi iinde kullanilacak olan degiskenlerin tanimlanmasi gerekir. Ancak eger degisken daha nce tanimlanmadan kullanilirsa Visual Basic ona varsayim olarak Variant veri tipini yaratir. Variant bir degisken herhangi bir tip veriyi ierebilir. Pratikte ok yararli gibi grnen varsayim tanimlamalarin grnmeyen yan etkileri olabilir.
Bir Vis ual Basic programinda Variant tanimlanmis varsayim tipli degiskenleri kullanmanin kt taraflari vardir. Bunlar: Daha fazla bellek kullanimina neden olur. Variant veri tipi bazi veri islem fonksiyonlari iin geersiz olabilir. Deger atamalarda karisikliklar olabilir. Bir degisken adi bir procedure adi ile ayni olmamalidir. Aik Tanimlama Aik tanimlama explicit declaration program iinde procedure'lar kullanilan btn degiskenlerin ad ve tip olarak tanimlanmasidir.
Tanimlama genellikle procedure basinda ya da modl basinda yapilir. Bu tr tanimlamalara kapali implicit tanimlama denir. Bununla birlikle degiskenlerin kapali olarak tanimlanarak kullanilmasinin esitli problemlere yol aabilecegini de belirtmistik.
Iste bu nedenle degiskenlerin aik olarak tanimlanmaya zorlanmasi saglanabilir. Bu tanimlamanin zorlamanin ardindan kod iinde tanimlanmamis bir degiskenin kullanimini Visual Basic derleyici "tanimsiz degisken" olarak yakalayacak ve size bildirecekt ir.
Degiskenleri aik olarak tanimlamak iin: Bir form, class ya da standard modl'n Declarations kesiminde su deyimlere yer verilir: Options Explicit Yada; Tools mensnden Options komutu seilir. Ardindan Editr sekmesinden Require Variable Declaration seenegi isaretlenir. Bu dzenlemenin ardindan Option Explicit deyimi proje iindeki btn modllere yerlestirilir.
Option Explicit deyimini dzenledikten sonra bir degiskeni tanimlamadan kullanmaya kalkarsaniz Variable not defined hata mesaji alirsiniz. Kapali Tanimlamalar Bir degiskenin kullanilmadan nce procedure ya da modl basinda tanimlanmasi genel olarak yapilmasi gereken seydir. Ancak Visual Basic kapali tanimlama olarak adlandirabilecegimiz bir yntemle; tanimlanmadan kullanilan degiskenlere varsayim olarak Variant tipinde bir degiskenmis gibi kullanilmasini saglar.
Bu nedenle aik tanimlama ve aik tanimlamaya zorlama islemlerinin kesinlikle yapilmasi gerekir. NOT: zellikle ok sayida degiskeni kullandiginiz bir programda kapali tanimlama lara gitmeyin. Iki degiskenin birisi "KkDeger" diger "KucukDeger" olarak yazilmamissa ve sizde bu degiskeni farkli sekillerde yazarak kullaniyorsaniz, programda hibir hata verilmeyecektir. Bu durumda ciddi programlarda kapali tanimlamalara izin vermeyin!
Bir degiskenin kullanilmadan nce tanimlanmasi gerektigini birok kez belirttik, ancak kapali bir tanimlama ile de degiskenlere belli tipler verilebilir. Degiskenler Nerede Tanimlanacak? Bir Visual Basic programinda ok sayida degisken kullanilir. Bu degiskenler ok sayida modlde ya da procedure'da tanimlanabilir.
Peki hangi degisken nerede tanimlanacak? Bir degiskenin modl iinde mi yoksa procedure iinde mi tanimlanacagi kapsama alani kurallarina gre kararlastirilir.
Kapsama Alani Nasil telefonlariniz bir vericinin etki alaninin disina iktiginizda hata sinyalleri veriyor, iste bir Visual Basic degiskeni de tanimlandiktan sonra kullanilirken belli br kapsama alani ile sinirlidir.
Sinir asildiginda degiskenin etkisi kalmaz. Bir procedure iinde tanimlanan degiskene local yerel degisken denir. Bu degisken bu procedure aktif oldugu zaman aktif olur. Buradan degiskenin procedure'in baslamasi ve bitmesi arasinda yasadigini syleyebiliriz. Bylece ortaya "kapsama alani" konusu ikar.
Kapsama alani procedure degiskenin tanimlandigi yere bagli olarak, procedure, form ve uygulama olmak zere ayri genislikte gereklesir. Bildiginiz gibi bir Visual Basic kodu mutlaka procedure olarak yaziliyordu. Ancak procedure'lar da bir modln iindeydi; modller de form, class ya da standart olabiliyordu. Iste bir degiskeni bir modln tanimlamalar kisminda tanimlamak o degiske nin o modl iinde yer alan btn procedure'larda kullanilmasini geerli olmasini saglarken, bir procedure iinde tanimlanan degisken yerel degisken olarak adlandirilir sadece o procedure iinden kullanilabilir.
Yani o procedure iinde geerlidir. Baska bir procedure iinde diger bir procedure iinde tanimlanan degiskene bir atama ya da onun degerine ulasmak mmkn olmaz.
Yerel Degiskenler Yerel degiskenler procedure-dzeyi degiskenlerdir. Bir procedure iinde tanimlanirlar, kullanilirlar. Procedure'in baslamasiyla bu degiskenler tanimlanir. Yerel degiskenler zellikle hesaplanan bir takim geici degerlerin. Genellikle Temp ya da Geici gibi ekleri de bu yzden alirlar. Eger bir degiskene uygulama boyunca i diger zamanlarda da erisilecekse degisken kullanilacaksa o zaman Dim ile kullanilmasi daha iyi olur.
Yerel Degiskenlerin Static Olarak Tanimlanmasi Static deyimi ile tanimlanan yerel degiskenler uygulama alistigi srece bellekte kalirlar ve istenildigi zaman kullanilirlar. Dim deyimi ile tanimlanan yerel degiskenler iin sadece procedure alistigi sre iinde kullanilirlar. Bir Modl Iinde Kullanilan Degiskenler Bir modl dzeyi degiskeni varsayim olarak modl iindeki btn procedure'lerde geerlidir. Modl-dzey degiskenler Private deyimi ile tanimlanirlar.
Private Aratoplam As Integer. Modl dzeyinde Private ile Dim arasinda bir fark yoktur. Ancak Private deyimi zellikle modl dzeyini vurgular. Bir public degiskenin degeri uygulama iindeki btn modllerde geerlidir. Bu degiskenler btn modllerde kullanilabilir ya da deger atanabilir. Public degiskenler de diger modl dzeyi degiskenler gibi modln st kismindaki Declarations kesiminde tanimlanirlar. Sadece modln declarations kesiminde tanimlanir. Btn Yerel Degiskenlerin Static Olarak Tanimlanmasi Bir yordamdaki btn yerel d egiskenlerin Static yapilmasi iin Static deyimi fonksiyonun basina konur.
Static Function Toplambul miktar Bu durumda btn yerel degiskenler; Static, Dim, Private gibi tanimlama deyimlerine bakilmaksizin Static olurlar. Bylece bu degiskenler uygulamanin sonuna kadar her zaman ve her yerden kulla nilabilirler. Ayni Degisken Adinin Birok Modlde Kullanilmasi Farkli modllerde bulunan Public degiskenler ayni adi kullaniyorlarsa bunlarin modl adlari ile birlikte ayri ayri kullanmak mmkndr. Toplam Form1. Toplam modl1 iindeki Toplam degiskeni.
Ayni degisken adinin birden ok modlde kullanilmasi iin iki standart modl kullanalim. Bunun yani sira bir form yaratip zerinde tane komut dgmesi koyalim. Birinci modlde bir degisken tanimlayalim.
Test Modl1 iindeki Test procedure'ini alistirir. MsgBox Module1. Test MsgBox Module2. Eger birok degisken ayni adi paylasiyorsa Visual Basic onun en yerel olanini kullanir. Buna digerlerini "glgeleme" denir. Degisken ve Procedure Adlarinin Ayni Olmasi Private ya da Public olarak tanimlanan modl dzeyi degiskenler procedure adlariyla alistiklarinda soruna yol aarlar.
Modl iindeki bir degisken procedure adi ile ayni adi alamaz. Ancak Public procedure'lar, Type degiskenler ve diger modller iindeki degiskenlerle ayni adi alamazlar. Public ve Loca l Degiskenler Ayni degisken adlarinin kullanimina farkli kapsamlarda da karsilasilir. Ardindan da bir procedure iinde yine Aratoplam adli bir yerel degisken tanimlanir. Bu tanimlamanin ardindan procedure iinde Aratoplam adli degiskene erismek istendiginde yerel degiskene erisilir.
Procedure disindan erisim s e i Public degiskene olacaktir. Ayrica modl dzeyindeki degiskene procedure iinden erisilmek istenirse modln adi ile birlikte kullanilabilir.
Public Aratoplam As Integer. MsgBox Form1. Aratoplam ' Form1. Aratoplam degeri 1. End Sub. Kapsama alanina benzer ama farkli bir kavram da yasam sresidir lifetime. Yasam sresi bir degiskenin degerini srdrdg geerli oldugu sreyi belirtir.
Public ye modl dzeyindeki degiskenlerin degeri uygulama boyunca korunur. Yerel degiskenlerin degeri ise procedurein alismasi ile baslar ve procedurein sona ermesiyle sona erer. Ancak yerel degiskenler Static deyimi ile tanimlanarak uygulama boyunca korunurlar. Degis ken ise bilginin adini gsterir.
Bir degisken ierdigi veri bakimindan farkli zelliklere sahip olabilir. Ancak ayni sonu Satadet degiskeninin modl dzeyinde tanimlanmasiyla da olabilirdi. Kodlamayi ve kodun okunabilirligini kolaylastirir. Bir sabitin btn procedurelar iin geerli olmasi iin modln Declarations kesiminde tanimlanmasi gerekir. Bir sabitin uygulama boyunca geerli olmasi iin sabit bir Standart modln Declarations kesiminde tanimlanir.
Ayrica Const deyiminden nce Public deyimi kullanilir. Sabitler ayni zamanda degerleri bilgisayarin ana belleginde saklamanin diger bir yoludur. Bir sabit tanimlandiktan sonra degeri degistirilemez. Eger program yolu ile degistirilirse o zaman Visual Basic hata verir. Sabit kullanmanin yararlari: Uzunca tanimlanan verilerin kolayca kullanilmasini saglar.
Belli oranlarin, degerlerin kolayca kullanilmasini saglar. Programin degisik versiyonlarini tanitan sabitler sayesinde programin kodlarindan daha kolay yararlanilir. Bu durumda bir "circular" hata olusur. Bu nedenle sabitler genellikle bir modl olarak hep bir arada tanimlanmalidirlar. Option Deyimleri Options deyimleri form ve modllerin basinda kullanilir.
Options deyimleri degiskenlerin ve dizile rin tanimlamalarini kullanimini etkiler. Bir form, class ya da standart modln Declarations kesiminde, modl iinde kullanilacak degiskenlerin daha nceden tanimlanmasi zorunlulugunu getirmek iin su deyimlere yer verilir: Options Expliat Ya da; Tools mensnden Options komutu seilir.
Ardindan Editr sekmesinden Require Variable Declaratian seenegi isaretlenir. Option Compare Deyiminin Kullanilmasi Option Compare deyimi string karakter bilgi islemlerinde yapilacak olan arsilastirmayi dzenler. Varsayilan karsilastirma yntem i Binary'dir.
Bu yntemde sistemin ayarlari kullanilir. Bu yntemde veritabani kimlik bilgisine gre siralama yapilir. Option Base Deyimi Option Base deyimi ise istege bagli olarak kullanilabilir. Deyimin amaci dizi tanimlamalarinda dizinin alt sinirini degistirmektir.
Normalde bir dizi sifirinci elemandan baslayarak tanimlanir. Veri Tipleri Bir degisken tanimlanirken degiskenin adi ve tipi type belirtilir. Genellikle varsayim tip olan Variant bir veri kullanilmayacagi zaman nce degisken tanimlanir ve tipi belirtilir.
Degiskenin tipi onun ierecegi bilgi trn ifade eder. Bir degiskenin tipi o degiskenin degeri ierecegi veriyi ve bellekte nasil tutulacagini gsterir. Bir degisken tanimlandiginda ona bir veri tipi verilir. Btn degiskenler bir veri tipi ile ne tr bir veriyi ierdigini belirtirler. Bylece bir degiskenin tipini belirtmek onun daha etkin kullanimini saglar. Degisken tipini tanimlamak iin Dim, Private, Public, Static gibi deyimler kullanilir. Ardindan tip belirtilir. Tipler Currency, Double, String gibi deyimlerle tanimlanir.
Long long nteger , Single single-precision floating point , Double doubleprecision floating point , ve Currency. Sayisal veri tipi variant ve diger veri tiplerine gre daha az veri sakla ma alanina gereksinim duyulur. Eger bir degisken ile arasinda bir deger aliyorsa onu Integer olarak tanimlayabilirsiniz.
Eger degerin ondalik noktasi varda 3,5 gibi; o zaman Long tanimlamak gerekir. Single ve Double veri tipleri ise noktadan sonra drt rakama sahip onbes basamaklik bir sayinin kullanilmasini saglar.
Byte Veri Tipi O ile arasinda bir deger ierir. Eger degisken ikili binary veri ieriyorsa o zaman Byte dizi ola rak tanimlanabilir. Dim SiraNo As Byte.
String Veri Tipi Karakterlerden olusan veriler String olarak tanimlanir. String veriler sayilari ierebilir ancak sayisal isleme giremezler. Degisken uzunluklu bir string tanimlama: Bilgi As String Degisken degisir uzunluklu bir string tanimlamak iin sadece bilginin degiskenin string oldugu belirtilir.
Bylece string deger istenildigi kadar uzun szckleri ierebilir. Bir diger string tanimlamasi ise sabit uzunluklu degiskenlerdir.
Eger 30 karakterden daha uzun bir veri atanirsa o zaman Visual Basic fazlaliklari keser. Sabit uzunluklu bir string boslukla tamamlandigi iin Trim ve Rtrim fonksiyonlari ile bosluklardan kurtulunabilir. NOT:Standart modllerde yer alan sabit uzunluklu string degiskenler Public ya da Private olarak tanimlanmalidir.
Form ve Class modllerinde ise Private olarak tanimlanmalidirlar. String verilere sayisal degerler atanabilir. Ancak bu degiskenlerle sayisal islem yapilmaz. Birlestirme isleci iki ya da daha ok string veriyi birlestirmeyi saglar. Bu simge araciligiyla bir string veri digeri ile birlestirilebilir. Birlestirme isleminin ardindan uzun string, YeniString'e atanir. Boolean degiskenlerin varsayim degeri False'dir. Date Veri Tipi Tarih ve zaman degerleri Date veri tipiyle tanimlanan degiskenlerle saklanir.
Bunun yani sira Variant veri tipi de tarih ve zaman verisi ierebilir. Dim Tarih As Date. Veri Tiplerinin Dnstrlmesi Visual Basic ok sayida dnstrme fonksiyonuna fonksiyonlar degerlerin tiplerinin birbirlerine evrilmesini saglar. NOT: Bir veri tipindeki deger bir baska tipe evrilecegi zaman karsi tarafin tipine uygun olmalidir. Eger herhangi bir veri tipini Variant tipli bir degiskene atiyorsaniz herhangi br dnsme gereksinim duyulmaz.
Bir Variant veri ierigine bakilmaksizin 16 byte alan kaplar. Bununla birlikte Variant veri tipi, tipleri tanimlanma yan degiskenlerin varsayim tipini olusturur. Variant degisken iindeki verinin tipini grenmek iin VarType fonksiyonu kullanilir. VarType Fonksiyonu Bir degiskenin tipini belirten bir tamsayi deger dndrr. Yapisi: VarType degisken Degisken bilgisi variant bir degerdir. Eger byk ve duyarli bir sayiya gereksinim duyulmuyorsa o zaman Variant veri Single ya da Integer veriye dnstrlr.
Visual Basic sayilari en az ver kaplayacak biimde Variant degiskenlerde saklar. Eger sayi daha bykse sayiya gre Long ya da Double deger kullanilir. Variant degisken iindeki sayisal degerle hesaplama yapilabilir. Bunun disinda diger zel tiplerin variant olarak saklanmasi iin Visual Basicin sahip oldugu ok sayida fonksiyon kullanilir.
Ancak eger degerlerden birisi sayi ise Visual Basic sayiyi String olarak dnstrmeye alisir. Eger basarili olursa iki degeri toplar. Basarili olmazsa "Type mismatch error" hatasi verir.
Birok fonksiyon tarih ve zaman degeri retir. Ayrica tarih ve zaman zerinde aritmetik isle mler de yapilabilir. Toplama ve ikarma islemi ile gnler ve s aatler toplanabilir ve ikarilabilir. Variant degiskenlere saklanan tarih degerleri January 1, ile December 31, arasindadir. Tarih ve zaman degerlerinin kullaniminda sayi karakteri de kullanilabilir.
Ardindan Cdate fonksiyonu ile deger tarihe evrilir. Asagidaki rnekte bir metin kutusu iinde yer alan tarih verisi test edilmekte ve kullanilmaktadir: Dim Tarih, geengn If IsDate Text1. Empty Degeri Bazen bir degiskene bir deger atanip atanmadigini bilmek isteyebilirsiniz. Bir variant degiskene bir deger atanmadan nce Empty bos degerine sahiptir. Empty degerinin anlami sifir degildir. Empty degeri Null ya da bos string " " anlamindadir.
Bir degiskenin Empty degeri IsEmpty fonksiyonu ile belirlenir. Bir variant Empty degerine sahip oldugu zaman; degisken ifadeler iinde kullanilabilir. Ve degeri ifadeye gre 0 ya da sifir uzunluklu string olarak algilanir. Null Degeri Bir variant verinin ierebilecegi bir diger zel veri de Null'dir. Null degeri zellikle veritabani uygulamalarinda bilinmeyen ya da olmayan veriyi ifade eder. Null verisinin zellikleri sunlardir: Ifadelerin bir kismi Null ise tamami Null olarak degerlendirilir.
Bir Null degeri geirmek, bir Null degeri iermek genellikle fonksiyonun Null degerini dndrmesini saglar. Ayrica degiskenlere Null degeri vermek iin aik olarak Null degerini atamak gerekir. Variant deger dndren btn fonksiyonlardan Null degeri dndrlebilir. Veri Tiplerinin Degisken Adlariyla Kullanimi Degiskenlerin tiplerinin normalde degisken adlariyla hibir ilgisi yoktur. Ancak daha kontroll olmak bakimindan degisken adlari tiplerine gre de verilebilir. Diziler Arrays Her zaman degiskenlerin tmn tek bir adla ve tek bir ierikle kullanmak kisitlayici olabilir.
Bu nedenle diziler arrays gelistirilmistir. Bir dizi ayni tipte ve ayni adi paylasan bir grup degisken demektir. Diziler birok degiskene ayni adla ulasmayi saglayan bir grup veri yapisidir.
Bir indeks numarasi ile dizi iindeki elemanlara ulasilir. Dizi iindeki elemanlar ayni tipteki verilerdir; rnegin haftanin gnleri ya da iller gibi. Yzlerce grencinin notlarini tek tek toplamak ve zerinde islem yapmak yerine onlari bir grup olarak tanimlamak dizinlerin kullanimini ortaya koyar. Dizilerin en nemli yani zellikle dngler ile birlikte kullanilmasidir. Bylece ok sayida islem kisa zamanda ve bir blok kod iinde yapilabilir.
Eleman sayisi dizinin eleman sayisini gsterir. Dizilerin eleman sayilan sifirdan baslar. Bes elemanli bir dizi: sifirdan basladigi iin eleman sayisi 4 olarak belirtilir. Dim YillarSatislar 10, 5 As String. Dizilerin kullaniminda bir diger konu dizilerin boyutlarinin eleman sayilarinin degistirilmesi ile ilgilidir. Dinamik dizilerin byklkleri degistirilebilirken, sabit byklkteki dizilerin byklkleri sonradan degistirilemezler.
Bir Dizinin Tanimlanmasi Bir diziyi tanimlamak iin yol vardir. Bu tanimlamalar dizi elemanlari iin gereksinim duyulan kapsama alanina gre kullanilabilir. Public dizi tanimlama Modl dzey dizi tanimlama Yerel dizi tanimlama String ' 12 elemanli dizi. Dng kontrol degiskenleri dizi elemanlarinin indekslerini temsil ederek sirayla elemanlarin kullanilmasini saglar.
Asagidaki rnekte 11 elemanli bir diziye; 0 dan baslayarak 10'a kadar deger girilmektedir. Dizideki elemanlar her trde olabilirler. Eger veri tipi variant ise dizi elemanlari farkli tiplerde olabilir. Dizi tanimada bir diger konu da dizinin kapsamidir. Kapsam ayni degiskenlerde oldugu gibi dizi elemanlarinin kullanabilecekleri alani da gsterir: Public bir dizi yaratilacaksa Declarations kesiminde Public deyimi kullanilir. Modl dzeyinde dizi yaratilacaksa modln Declarations kesiminde Private deyimi kullanilir.
Yerel bir dizi yaratilacak o zaman Procedure iinde Private deyimi kullanilir. Sabit Eleman Sayili Dizi Sabit eleman sayili sabit byklkteki dizilerin eleman sayilari sabittir. Daha sonra eleman sayilari degistirilemez. Iste bir dizinin eleman sayisini sonradan degistirebilme zelligine dinamik diziler denir.
Dinamik bir dizinin boyutlari istenildigi zaman degistirilebilir. Dinamik dizilerin eleman sayilarinin degistirilebilmesi ayni zamanda bellegin de etkin olarak kullanilmasini saglar. Bylece dizi nce daha kk olarak tanimlanir. Ardindan bytlr. Eger dizi procedure dzeyinde kullanilacaksa zaman procedure dzeyinde Static ya da Dim deyimi kullanilir.
Bir dinamik dizi bos olarak tanimlanabilir: Dim DinamikDizi Ardindan istenildigi zaman daha sonra dizinin boyutlan degistirilebilir.
Dim vs Static deyimlerinden farkli olarak ReDim deyimi isletilebilen bir deyimdir. ReDim deyimi uygulamanin alisma zamaninda dizinin yeniden boyutlandirmasini saglar. See our Privacy Policy and User Agreement for details. Create your free account to read unlimited documents. The SlideShare family just got bigger. Home Explore Login Signup. Successfully reported this slideshow. We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads.
You can change your ad preferences anytime. Next SlideShares. You are reading a preview. Create your free account to continue reading. Sign Up. Upcoming SlideShare.
Microsoft word Embed Size px. Start on. Show related SlideShares at end. WordPress Shortcode. Share Email. Top clipped slide. Download Now Download Download to read offline. Microsoft word kullanimi Download Now Download Download to read offline.
Microsoft office word MS Word Tema 3: Microsoft Word ve Excel. Wordde tablo yartma. Microsoft office excel kullanimi.
0コメント