Visual Basic (Bölüm-2) Projeler Ve Bileşenleri
Visual Basic (Bölüm-2) PROJELER VE BİLEŞENLERİ
Visual Basic’te bir uygulama geliÅŸtirmek proje denilen yapı içerisinde gerçekleÅŸtirilir. O halde yeni uygulama yeni bir proje oluÅŸturmayı gerekli kılacaktır. Bir Visual BASİC Projesi,formlar,Formlar üzerine yerleÅŸtirlen kontrol nesneleri, nesnelere baÄŸlı kodlar (event procedures-olay prosedürleri) ile bağımsız modüllerden oluÅŸur. Visual BASİC ‘te proje dosyalarının uzantıları .max ya da . vbp ÅŸeklindedir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image002.gif[/IMG]
Åžekil 2.1’-BaÅŸlangıç Penceresi
Åžekil 2.1’de görülen baÅŸlık satırı o anda aktif olan projenin adını göstermektedir.
Menü Satırı: 11 adet ana menü başlığı ve herbirinin alt menülerini içerir. Visual BASIC ortamında proje(yazılım) geliştirirken yararlanılabilecek çeşitli fonksiyonları vardır.
Araçlar Satırı: Menü içerisinde yer alan bazı iÅŸlemleri kullanıcının daha hızlı gerçekleÅŸtirebilmesi için kullanabileceÄŸi ikonları içerir. Bu ikonlardan herhangi biri üzerine götütürseniz mouse’yi bu ikonun gerçekleÅŸtireceÄŸi menü seçeneÄŸinin ne olduÄŸunu görebilirsiniz.
Özellikler Penceresi:O esnada ilgi odağı olan (seçilmiş, aktif)nesneye ait özellikler ve o andaki değerlerini listeler. Ekranda bu pencere yoksa View/Properties Window menü adımları ile çağırılabilir.
Proje Penceresi: o esnada aktif durumda olan proje ile ilişkili dosyaların listesini görüntüler. Bu dosyalar , projeye ait nesneler (form, kontroller vb) ya da bağımsız modüllere ait dosyalardır. Proje penceresi o esnada yoksa View/Properties Explorer menü adımları ile çağırılabilir.
Araçlar kutusu:Visual BASİC uygulamasını geliştirirken oluşturduğunuz projede kullanabileceğiniz Visual BASİC kontrol nesnelerini içermektedir. Eğer yoksa view /Toolbox menü adımları ile onu ekrana getirebilirsiniz.
ÖZELLİKLER PENCERESİ
Özellikler: penceresi, o esnada ilgi odağı olan (seçilmiş,aktif) nesnenin sahip olduğu özellikleri ve bu özelliklerin o andaki değerlerini görüntüler. Özellikler penceresini View /Properties Window menü yolu ile ya da F4 tuşuna basarak ekrana getirmek mümkündür.
AÅŸağıdaki özellikler penceresinin baÅŸlığı Form1’dir. Form1 baÅŸlık satırının bir alt satırında ise Form1 Form ibaresi görülmektedir.Bunun anlamı baÅŸlıklı nesnenin Form türünde bir nesne olduÄŸudur. Özellikler penceresi bir kontrolün özelliklerini iki farklı diziliÅŸ sırasında listeleyebilir. Bunlardan ilki Alphabetic seçeneÄŸidir. Adındanda anlaşılacağı gibi penceredeki özellikleri alfabetik olarak takip etme imkanı saÄŸlar Categorized seçeneÄŸi ise özellikleri, Appearance (görünüş) behavior (davranış),DDE,FONT vb. bazı ortak gruplar altında listelemek için kullanılır.Özellikler penceresine dikkat edilirse, iki sütuna sahip olduÄŸunu göreceksiniz. Bu sütunlardan soldaki özelliklerin adlarını (Caption, name, height vb), saÄŸdaki ise bu özelliklerin o esnada sahip olduÄŸu deÄŸerleri göstermektedir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image004.gif[/IMG]PROPERTİES (ÖZELLİKLER PENCERESİ)
MaxButton – MinButtom :Bu deÄŸerler mantıksal deÄŸerler alabilir. Mantıksal deÄŸerler(True-False). Her iki özellikte False durumunda iken boÅŸ oluÅŸturulmuÅŸ bir formu çalıştırarak Sol üst köşesinden Ekranı kapla ve Simge durumunda küçült seçenekleri olmayacaktır. True yapılırsa tekrar gelecektir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image006.jpg[/IMG]
Height: Formun yüksekliğini artırmak ve azaltmak için kullanılır
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image008.jpg[/IMG]
Width:Bir formun genişliğini saklar. Bir önceki özellite tanımlar
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image010.jpg[/IMG]
Left ve Top: Bu özellikler, formun üst ve sol kenarları ile ekran arasındaki mesafeyi belirler. Top parametresi 0 ise, formun üst kenarı, ekranın üst kenarı ile çakışır Left parametresi 0 is, formun sol kenarı, ekranın sol kenarı ile çakışır.Yükseklik ve genişlik özelliği gibidir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image012.jpg[/IMG]
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image014.jpg[/IMG]
Projenin icrası esnasında, formun nasıl görüneceğini belirleyen bir özelliktir. 3 farklı değere sahip olabilir. Değeri 0 ise, bilinen normal form görüntüsü,Değeri 1 ise, formun bir ikona indirgenecektir,Değeri 2 ise form en büyük şeklini alır yani maksimize edilir-WindowState özelliği de, genellikle icra esnasında değiştirilir.Çalışmamız RUN edildiğinde büyüklük ve küçüklük oranı görülecektir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image016.jpg[/IMG]
BackColor:Formun zemin rengini belirleyen özelliktir.
Control Box:Değeri True ise , icra esnasında formun başlık satırının sol kenarında, işletim sistemine özgü bir kontrol menüsü çıkar. False yapılmışsa, icra esnasında bu kontrol menüsü ortaya çıkmaktadır.
Enabled:Özelliği True ise form meydana gelen olaylara duyarlıdır;False ise formun meydana gelen olaylara karşı duyarsız olması sonucu verecektir.Program run edildiğinde mouse ile yapılan hiçbir işlemi kabul etmeyecektir.
Font :Bu özellik ile ilişkili parametreleri ayarlayarak, form üzerinde görüntülenecek yazılara ait fontlar (MS Sans Serif, Courier vb), yazı sitilleri(İtalic,bold vb)ve yazı boyutları (size) belirlenebilir.
ForeColor:Bu özellik formun ön-plan rengini belirler. Kullanımı ve renk seçimi Backcolor özelliğindeki gibidir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image018.jpg[/IMG]
Mouse Pointer:İcra esnasında, form üzerinde görüntülenecek mouse göstergesinin(ekran göstergesi) biçimi belirler. Burada 0-16 değerleri alabilir. Burada programın çalışması sırasında mouse görüntüsünü görebilirsiniz.
MouseIcon:Mousepointer de ayarlanan 16 mouse göstergesini artırabilmek için kullanılır. Burada 99’a kadar çıkartılabilir.
Visible:Formun, projenin icrası esnasında, ekranda görünür olup olmayacağını belirler. Değer True ise form icra esnasında görünür, False ise icra esnasında görüntülenmeyecektir.
ScaleMode: Scalemode özelliği, form üzerinde kullanılacak koordinat sistemi için bir birim belirlemek imkanı sağlar. Bu özellik 8 farklı değer alır.
ScaleTop,ScaleLeft:Form üzerine nesneler yerleştirilirken, gözönüne alınacak olan koordinat eksininin başlangıcını belirleyen parametrelerdir.
Scaleheight,Scalewıdth:Kullanıcı formu ölçeklemek için kendi birimlerini kullanmak istemesi durumunda kullanılabilecek olan özelliklerdir.Forma eklenecek bir nesne için Form üzerinde bir yatay çizgi belirleyip Properties özelliğinde yükseklik ve genişliğini ayarlarsak nesne o aranda büyük veya küçük olarak forma eklenir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image020.jpg[/IMG]
BİR ÖRNEK PROGRAM
Visual Basic’in form penceresini Run ettiÄŸimizde form penceresini mouse ile her tıkladığımızda “Halk EÄŸitimi Merkezi”yazıp bir alt satırına ‘Mouse’u iki kez tıklatın” yazmasını istiyorsak yapılacak iÅŸlem ÅŸunlardır.
1-Basit bir kod, bir procedure örneÄŸi oluÅŸturalım .Form üzerindeyken Mouse’yi iki kez tıkla-tınız.Karşınıza Project isimli bir pencere gelecektir.Load yazan yerin (Proc kutusu)ok İşa-retini tıklatın ve oradakiDblClickseçeneÄŸini seçip iÅŸlem satırına yazarız. AÅŸağıda olduÄŸu gibi
2-Run menüsünden Start’ı seçerek kodu(projeyi)çalıştırınız.
3-Şimdi, ekran göstergesi form üzerinde iken, mouse sol tuşunu iki kez tıklatınız.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image023.gif[/IMG]
KONTROL NESNELERİ
Geliştirilen uygulamanın kullanıcı açısından kolay kullanılır ve sempatik görünümde olabilmesi için, kullanıcının uygulama ile karşı karşıya kalacağı diyalog pencerelerinin özenle tasarlanması gerekir.Kontrol nesneleri, standart kontroller ve dışardan eklenen kontroller olarak iki gruba ayrılabilir.
Standart kontrol nesneleri, Visual Basic’in yüklenmesi ile hemen kullanılabilecek olan kontrol nesneleridir.
Dışardan eklenen kontroller ise, standart nesnelerin sağladığı imkanların ötesine geçebilen, Microsoft firmasınca yada başka şirketler tarafından üretilmiş ve Visual Basic uygulamasına sonradan herhangi bir zamanda eklenebilecek nesnelerdir.
Her iki tip kontrol nesnesinin de müşterek özelliği, daha önceden kendilerine yüklenmiş belirli özelliklere sahip olmalarıdır.
FORM ÜZERİNE KONTROL NESNELERİNİ YERLEŞTİRMEK
Form üzerine kontrol nesneleri yerleştirmek, oldukça kolay olarak gerçekleştirilen bir işlemdir. Aşağıdaki şekilde gerçekleştirilir.
1)Form üzerine yerleşitirilecek olan kontrol nesnesi, mouse-click (sol tuşu bir kez tıklatma)işlemi ile araç kutusundan(Toolbox)seçilir.
2)Mouse yardımı ile, ekran göstergesi form üzerine getirilir. Mouse sol tuşu basılı tutularak mouse hareket ettirilerek kontrol nesnesinin form üzerinde arzu edilen büyüklüğe erişmesi sağlanır. Sonra mouse sol tuşu serbest bırakılır.
STANDART KONTROL NESNELERİ VE İŞLEVLERİ
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image025.jpg[/IMG]
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image027.jpg[/IMG] GÖSTERGE
Form üzerine aktarılıp görüntülenemeyen yegane kontrol nesnesidir. Form üzerine çizilmiş bir kontrol nesnesinin boyutunu değiştirmek veya bu kontrol nesnesini hareket ettirmek gerektiği zaman yararlanılır.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image029.jpg[/IMG] RESİM KUTUSU (PİCTURE BOX)
Resim kutusu nesnesi yardımı ile form üzerinde grafikleri görüntülemek mümkündür. Ayrıca, diskinizin herhangi bir dizini içinden çağıracağınız bir bitmap, ikon(icon) ,bir resimde yükleyebilirsiniz
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image031.jpg[/IMG] ETİKET(LABEL)
Etiket kontrol nesnesi, kullanıcı tarafından değiştirilemeyecek bir metni görüntülemek ya da icra esnasında uygulama tarafından değiştirilemeyecek bir metni görüntülemek amacı ile kullanılabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image033.jpg[/IMG] METİN KUTUSU(TEXT BOX)
Metin kutusu kontrol nesnesi iki ayrı amaç için kullanılabilir
1)Kullanıcı tarafından, uygulamanın icrası esnasında, bilgi girişi amacı ile
2)Uygulama tarafından üretilen bilgilerin ekranda, form üzerinde görüntülenmesi amacı ile
Metin kutusunun Properties penceresinde Multiline özelliği True haline getirilmelidir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image035.jpg[/IMG] ÇERÇEVE (FRAME)
Çerçeve nesnesi, form üzerine yerleştirilecek kontroller için görsel ve fonksiyonel anlamda bir grup oluşturma imkanı sağlar. Bu anlamda, çerçeve içine alınan kontroller, diğerlerinden kolayca ayırdedilirler.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image037.jpg[/IMG] KOMUT BUTONU(COMMAND BUTTON)
Komut butonu, kullanıcı tarafından seçildiği zaman, belirli bir işlemi yerine getirir. Bu işlem, kendisine bu olaya bağlı olarak yüklenmiş olan kod ile gerçekleştirilir. Komut butonu mouse yardımı ile bir kez tıklatma(click)işlemi gerçekleştirilebilir. Çeşitli diyalog pencerelerinde karşımıza çıkan OK ve CANCEL butonları komut butonlarına örnektir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image039.jpg[/IMG] KONTROL KUTUSU (CHECK BOX)
Kontrol kutusu, açma ya da kapama gibi ya da seçme ve iptal gibi ikili bir kontrole ihtiyaç duyulan uygulamalarda kullanılır. Kullanıcı , belirtilen seçeneği seçerse, kutu içinde bir işaret sembolü görüntülenir. Kullanıcıya Evet/Hayır gibi seçenekler vermek için kullanılır.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image041.jpg[/IMG] OPSİYON BUTONU(OPTİON BUTTON)
Option butonları bir grup halinde kullanılırlar. Bu grup içersinde, her buton bir seçeneği temsil eder. Kullanıcı seçtiği seçeneği, ilgili opsiyon butonunu işaretleyerek belirtir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image043.jpg[/IMG] KOMBİNE KUTU (COMBO BOX)
Bir kombine kutu, metin kutusu(text box) ve liste kutusunun (list box) özelliklerini bir araya toplar. Örneğin, kullanıcı metin kutusu gibi içine metin yazabilir ya da liste kutusu gibi, kutu içine yerleştirilmiş isimlerden istediklerini seçebilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image045.jpg[/IMG] LİSTE KUTUSU (LİST BOX)
Liste kutusu, kullanıcının içinden bir ya da daha fazla isim seçebileceği bir liste içerir. Listeye yeni isimler eklenebilir ya da listedeki bazı isimler çıkartılabilir. Örneğin, bir liste kutusu ile çeşitli ülke isimlerini listeleyebilirsiniz Kullanıcı bir isim seçince, o ülke isimlerini listeleyebilirsiniz. Kullanıcı bir isim seçince, o ülkenin özellikleri listelenebilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image047.jpg[/IMG] YATAY KAYDIRMA ÇUBUKLARI(HORİZONTAL SCROLL BARS)
Kullanıcıya, listeler içinde veya büyük miktarda bilgi boyunca yatay hareket imkanı sağlar. Bu anlamda, bir fonksiyonun değerlerinin görüntülenmesini, bir yatay hareket çubuğunun hareketi ile ilişkili olarak gerçekleştirebilirsiniz.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image049.jpg[/IMG] DÜŞEY HAREKET ÇUBUKLARI(VERTİCAL SCROLL BARS)
Düşey hareket çubukları, yatay hareket çubukları için söylenen işlemleri düşey olarak gerçekleştirirler.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image051.jpg[/IMG] ZAMANLAYICI (TİMER)
Uygulamanın çalışması esnasında, zamana bağlı olarak belirli aralıklarla, belirli eylemlerin gerçekleşmesini denetlemek amacı ile kullanılır.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image053.jpg[/IMG] SÜRÜCÜ LİSTELEME KUTUSU
İcra esnasında, geçerli sürücülerin bir listesini sunmak ve sürücüler arasında geçiş yapmak amacı ile kullanılır . Sürücü listeleme kutusu, bir dosyayı belleğe yüklemek (açmak-open)amacı ile oluşturulan bir diyalog penceresinin bir parçası olarak kullanılabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image055.jpg[/IMG] DİZİN LİSTELEME kutusu(DİRECTORY LİST BOX)
İcra esnasında, aktif durumdaki sürücünün yolunu(path)ve dizinlerini (Directories)görüntüler. Bu kontrol nesnesi, kök dizinden (root directory) seçilmiş bir yolu izleyerek hiyerarşik olarak
dizin listesini görüntületmek amacı ile kullanılabilir. Aynı zamanda doğal olarak bir dosya açma diyalog penceresinin bir parçası olarak ta kullanılabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image057.jpg[/IMG] DOSYA LİSTELEME KUTUSU (FİLE LIST BOX)
Verilen bir dizin içindeki tüm dosyaları listeler. Kullanıcı, listelenmiş dosyalar içinden bir dosya seçebilir. Bu kontrol nesnesi de, bir dosya açma diyalog penceresinin bir parçası olarak kullanılabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image059.jpg[/IMG] ŞEKİL (SHAPE)
Tasarım (desing)zamanında görünür olan bir kontrol nesnesidir. Tasarım esnasında, form üzerine , kare,daire,elips,dikdörtgen gibi şekilleri yerleştirmek amacı ile kullanılır.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image061.jpg[/IMG] ÇİZGİ(LİNE)
Çizgi kontrol nesnesi, tasarım esnasında, form üzerine yatay, düşey ya da eğik çizgi yerleştirmek amacı ile kullanılır. Çizgi kontrol nesnesi formu parçalara ayırmak amacı ile kullanılabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image063.jpg[/IMG] GÖRÜNTÜ (IMAGE )
Bir resmi görüntüleyebilen grafik tipte bir kontrol nesnesidir. Bu açıdan resim kutusuna (picture box) benzer. Fakat, resim kutusuna oranla daha az sistem kaynağı kullanılır. Mouse ile clicklendiği zaman, komut butonuna benzer özellik gösterir. Örneğin bir firma, firmanın logosunu görüntü nesnesi içine yerleştirerek, resim üzerine mouse ile click işlemi gerçek-leştirildiğinde firma hakkında bazı bilgiler listeleyen bir tanıtım yazılımı oluşturabilir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image065.jpg[/IMG] VERİYE ERİŞİM (DATA ACCESS)
Sistemde mevcut olan veri tabanlarına erişerek, bilgi güncelleme, edit ya da bilgi görüntüleme işlemlerinin yapılabilmesine olanak sağlar.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image067.jpg[/IMG] OLE İSTEMCİSİ (OLE CLİENT)
Nesneyi bağlama ve yerleştirme yöntemi, Windows işletim sistemince kullanılan yeni bir teknolojidir. Bu teknoloji sayesinde, bir windows uygulama programı (Mesela Visual Basic 6.0) ile geliştirilen bir proje içine başka bir windows uygulama programından nesneler aktarmak mümkündür.
Visual BASİC’TE VERİ YAPILARI VE VERİ TİPLERİ
Her programlama dilinde olduÄŸu gibi Visual BASİC’te de çeÅŸitli veri yapıları ve veri tipleri mevcuttur. Programcının dilin imkanlarına daha iyi hakim olabilmesi için bu yapıları tanıması zorunludur.
SABİTLER(CONSTANTS)
Program içinde değeri değiştirilemeyen, çeşitli tipteki veri yapılarıdır. Örneğin
1234 ÅŸeklindeki bir sabit , Visual BASİC açısından bir tam sayı sabittir. “5666” sabiti veya “Türkiye” sabiti ise string türü sabitler, çift tırnak sembolleri içinde yazılırlar ve matematiksel iÅŸlemlere sokulmazlar.
Visual BASİC’te çoÄŸu kez, sabitlere bir isim atanarak, program boyunca, bu isimle çağırmak ta yaygın bir uygulamadar. Bu iÅŸ için Const bildiri sözcüğüne ihtiyaç vardır.
Örn: PiSayisi=3.14159
Sabit tanımlama sözcüğünün başına private ya da Public sözcükleri konularak, sabitin sadece tanımlandığı modülde ya da tüm modüllerde tanınması sağlanabilir.
Private Const BnSabit=60
Public Const BxSabit=80
Puplic: türü bildiriler, sadece standart modüllerin General kısmında tanımlanabilir. Private sabitler ise, her tür modülün General kısmında tanımlanabilir.
DEĞİŞKENLER(VARIABLES)
Programın akışı içerisinde, değerleri sürekli olarak değişebilen veri yapısıdır.
Örneğin x=23 y=12
X=x+3 y=y+x
Bu değişkenlere yeni bir değer atanırsa , bu değişkenin öncek değeri silinecektir.
DEĞİŞKENLERE İSİM VERME
Visual Basic 6.0 değişkenlere isim vermek için aşağıdaki kurallar geçerlidir.
1-Değişken isminin ilk karakteri bir harf olmalıdır.
2-Değişken ismi oluşturulurken, diğer karakterler, harf, rakam ya da alt çizgi (-) sembolü olabilir.
3-Kullanılan harflerin küçük ya da büyük harf olmasının önemi yoktur.
4-Değişken isim uzunlukları 255 karaktere kadar olabilir.
5-Değişken isimleri içinde diğer semboller(+,-,/ ,boşluk vb)bulunmamalıdır.
ÖRNEK: Geçerli Değişken İsimleri
MAAÅž
YaÅŸ1
NetMaaÅŸ
Genel_Toplam
Geçersiz Değişken İsimleri
1X
A-1
Brut MaaÅŸ
DEĞİŞKEN TÜRLERİ
Bu bölümde, Visual BASİC değişkenleri için kullanılabilecek veri türleri tanıtılacaktır.
INTEGER(TAM SAYI):Bir deÄŸiÅŸkenin sonunda % sembolü varsa bu deÄŸiÅŸkenin türü integer olacaktır. Integer deÄŸiÅŸkenler, bellekte 2 Byte yer kaplar ve alacakları deÄŸerler –32768 ile +32767 aralığında olabilir. Integer türü deÄŸiÅŸkenlerle daha hızlı hesaplama yapılır.
ÖRNEK Deflnt A,B
D%=5678
A=789
B=50000’ Hatalı atama
LONG INTEGER (UZUN TAM SAYI)
Sonundaki sembol & sembolü olan ya da Deflng sözcüğü ile tanımlanmış olan değişkenlerdir. Bellekte 4 byte yer kaplarlar. Alabilecekleri değerler, -2,147,483,648 ile +2,147,483,647 aralığında olabilir.
Örnek: DefLng A-C Bu örnekte, DefLng A,B veya C olan tüm değişkenler
A=234555566 Long integer olarak tanımlanmıştır.
B=567777777
SINGLE PRECISION(TEK DUYARLIKLI)
DeÄŸiÅŸkenin sonunda ! sembolü varsa, veya DefSng bildiri deyimi ile tanımlanmışsa bu deÄŸiÅŸken tek duyarlıklı tipte deÄŸiÅŸkendir. Bu tip deÄŸiÅŸkenler, bellekte 4 Byte yer kaplar. DeÄŸer aralığı negatif sayılar için –3.402823E-38 ile 3. 402823E-45 arasındadır. Pozitif sayılar içinse bu aralık 1.401298E-45 ile 3. 402823E38 arasındadır. İlk 7 haneye kadar hassastırlar.
X!=12390638.234 şeklindeki bir atamada,sonraki 8.234 kısmı yuvarlanacaktır.
DOUBLE PRECISION(ÇİFT DUYARLIKLI)
İsmi sonundaki sembol # sembolü olan ya da DefDbl bildiri sözcüğü ile tanımlanmış olan değişkenlerdir.
STRİNG(KARAKTER ZİNCİRİ)
Sonunda $ sembolü bulunan yada DefStr bildiri sözcüğü tanımlanmış olan değişkenlerdir. Genellikle metin bilgileri için kullanılır.
ÖRNEK X$=Text12.Text
CURRENCY (PARASAL FORMAT)
Değişken ismi sonundaki sembol @ sembolü olan ya da DefCur bildiri sözcüğü ile tanımlanmış olan değişkenlerdir. Ondalık noktadan önce 15 ve ondalık noktadan sonra 4 hane olacak şekilde formatlanmıştır.
DATE(TARİH)
Tarih ve zaman türündeki bilgileri saklamak için kullanılan değişkenlerdir. 1 Ocak 100 ile 31 Ocak 9999 arasındaki zamanlar için kullanılır.
ÖRNEK: DefDate T
Tar=#February 3,1996#
BYTE
Byte değişken türü, Visual BASİC 6.0 ile gelmiş bir yeniliktir. 0 ile 255 arasındaki işaretsiz tam sayıları saklamak için kullanılır.DefByte bildiri sözcüğü ile tanımlanır.
BOOLEAN
DefBool olarak tanımlanır. Sadece Doğru (True) Yanlış(False) değerlerinden birini alabilir.
VARİANT
DefVar olarak tanımlanmıştır. Bir değişken için hiçbir tip bildiriminde bilinilmamışsa, tipi Variant olarak kabul edilir. Her türlü bilgi (Date,numerik,string)yüklenebilir. Variant tipi bir değişken içine hangi tip veri yüklendiği ise IsNumeric,IsDate vb gibi kontrol edilebilir.
KULLANICI TARAFINDAN BELİRLENEN VERİ TİPİ(USER DEFINED TYPES)
Çeşitli değişkenleri bir araya getirerek bir isim altında toplamak! Elde edilen bu yeni veri tipine Kayıt(Record) adı verilir. Bir kayıt tanımlamak için önce bir kod modülünün Declarations kısmında aşağıdaki gibi bir bildirimde bulunulur:
Type PerKayıt
Sicil As Integer
Ad As String*10
Soyad As String*12
Brut As Double
Adres As String *50
End Type
Daha sonra herhangi bir form ya da modülün Declarations kısmında
Private Per As PerKayıt veya
Puplic Per As PerKayıt
Şeklinde bildirimde bulunulursa PerKayıt ile tanımlanmış bir şablon veri yapısı türünden Per adlı gerçek bir veri tanımlanmış olur.
Private per As PerKayıt
per.Sicil = 123
per.Ad = "ahmet"
per.soyad = "Caner"
TİP BİLDİRİMİ İÇİN DİM DEYİMİ
İyi bir program oluşturmak için, değişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır. Tip bildiriminde bulunulmazsa değişkenin tipi variant olarak kabul edilir ve gereksiz yere bellek kullanılır. Değişkenlerin tipini belirtmek için alternatif bir yol Dim deyimini kullanmaktadır;
Dim x As İnteger
Dim y As Currency
Dim z As String
DEĞİŞKEN İSİMLERİNE GÖRE TİP ATAMA
Def tipi bildirim komutları aşağıdaki örneklerdi gibidir.
ÖRNEK : DefInd A-D Bu ifade ile A,B,C,D harfleri Integer olarak tanımlanmıştır
DefDate S,T S ve T harfleri ile başlayan değişkenler Date türünden tanımlanacaktır.
PROSEDÜRLER ARASI MÜŞTEREK DEĞİŞKENLER
Bazı değişkenlerin,prosedürler arasında müşterek kullanımı gerekebilir. Bu tip müşterek kullanılabilen değişkenlere form düzeyinde veya modül düzeyinde değişkenler denir. Form düzeyinde değişken tanımlamak için, formun General,Declaration bölümüne, bu değişkenleri Dim deyimi ile yerleştirmek gerekir. Burada tanıtılan tüm örnekler bütün prosedürler tarafından kullanılacaktır.
ÖRNEK: [IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image069.jpg[/IMG]
PRIVATE SÖZCÜĞÜ
Private sözcüğü ile, form düzeyinde değişkenler belirleyebilirsiniz. Formun General, Declaration kısmında Dim yerine Private sözcüğünü kullanarak ta değişkenleri form düzeyinde geçerli kılabilirsiniz.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image071.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image073.jpg[/IMG]
Project penceresindeki Dim komutunun yerine Static komutunu yerleştirirseniz programı her RUN edişinizde rakamları unutmadan üzerine 10 koyarak toplar. SABİT UZUNLUKLU STRİNGLER
Sabit uzunluklu string tanımlamak, bası uygulamalar için gerekli olabilir.
Dim ad As String * 8
Ad değişkeni 8 karekter uzunluğundadır.
BİRDEN ÇOK FORM İLE ÇALIŞMA
Uygulamamızın kapsamı genişledikçe, tek form üzerinde tasarım yapmak imkansız hale gelebilir. Bu durumda doğal olarak projemize yeni bir form eklememiz gerekecektir.(Form1-Form2). Bunun için Project menüsünden Add Form seçeneğini kullanmanız gerekecektir.
FORMLAR ÜZERİNDE UYGULANABİLEN METOTLAR
Bu bölümde, özellikle çok sayıda form kullanıldığında, kullanılması zorunlu olacak bazı form metotları açıklanacaktır.
SHOW METODU
Formun ekranda görüntülenmesini sağlar. Yazılış biçimi
FormAdı.Show şeklindedir.
LOAD METODU
Formu bellege yükler fakat ekranda görüntülemez. Yazılış biçimi
Load . FormAdı şeklindedir.
HIDE METODU
Formu ekrandan uzaklaştırır fakat bellekten silmez!Yazılış biçimi,
Form.Adı.Hide şeklindedir.
UNLOAD METODU
Formu bellekten siler. Bu durumda, form düzeyinde atanmış olan tüm bilgi silinecektir. Yazılış biçimi,
Unload.FormAdı şeklindedir.
Visual BASİC’te SAYILAR VE ARİTMETİKSEL İŞLEM OPERATÖRLERİ
Bir tamsayı değişkenine, bir ondalik sayı atanırsa, otomatik olarak yuvarlatılır. Örneğin,
Dim x As Integer
X=123.789 ataması sonucu x 124 değerini alır.
String türü bir bilgi numerik olarak kullanılacaksa VAL fonksiyonu ile dönüştürülür. Örneğin,
X=12*”120” ifadesinin hatalı olmasına raÄŸmen
X=12*VAL(“120”) ifadesinin sonucu ise 1440 olacaktır .
VAL burada “120” deÄŸeri tırnak içine alındığı için karakter olarak tanınmıştır ama VAL komutu bunu sayısal bir deÄŸere çevirmiÅŸtir
STR Numerik bir ifadeyi Stringe yani karaktere çevirir. Pozitif sayıları dönüştürürken önlerine bir bşluk yerleştirilir.
ÖRNEĞİN STR(1280) ifadesinin sonucu “ 1280) stringi olacaktır.
FORMAT fonksiyonu ile, sayılar belirli bir forma dönüştürülerek görüntülenebilirler. Örneğin
S1$=Format(2457.9,”##,##0.00”) ifadesi ile S1$ stringi, “2,457.90” ÅŸeklinde
S2$=Format(876.9,”###0.00”) ifadesi ile S1$stringi,”2,457.90” ÅŸeklinde
S3$=Format(7.”0.00%”) ifadesi ile de S3$ stringi “700.00%” ÅŸeklinde olacaktır.
TARİH TÜRÜ DEĞİŞKENLERLE İŞLEMLER
Tarih türü değişkenler üzerinde de aritmetiksel işlemler tanımlanabilir. Örneğin,
Dim tar As Date print bar ifadeleri ile, tar değişkenine, bulunulan günün tarihi atan-
Dim bar As Date makta,ilk print ile bulunulan günden 7 gün önceki ve ikinci print
tar=Now ile de, bulunulan günden 7 gün sonraki günün tarihi yazdırılacak.
bar=tar-7
Print bar
Bar=tar+7
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image074.gif[/IMG]
(X+8)
X+5
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image075.gif[/IMG][IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image076.gif[/IMG]ÖRNE K Y= 3
İfadesini, x‘in klavyeden girilecek deÄŸeri için hesaplatın yazdıran bir uygulama geliÅŸtiriniz.
ÇÖZÜM
1-Form üzerine bir komut butonu yerleştiriniz. Bu butonu seçerek Properties penceresini getiriniz ve
Caption özelliğini seçerek bu özelliği HESAPLA olarak değiştiriniz.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image078.jpg[/IMG]
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image080.jpg[/IMG]
2- komut butonu yukarıdaki pencerede belirtilmiştir.
3-Daha RUN ederek çalıştırınız. Sonuç yukarıdaki penceredeki gibidir.
BİLGİ GİRİŞ VE ÇIKIŞI KONTROL KOMUTLARI
InputBox(MESAJ) FONKSİYONU
Visual BASİC programının icrası esnasında, klavyeden bilgi girişi yapılmasını sağlayan bir fonksiyondur. Mesaj kısmı kullanılmışsa bu kısım , bilgi giriş penceresinde aynen görünecektir. Bilgi girişinde girilen bilgi string (karakter zinciri) türünde kabul edilir. Eğer nümerik olarak kullanılacaksa VAL fonksiyonu ile nümeriğe dönüştürülmelidir.
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image081.gif[/IMG] MESAJ
[IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image083.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image085.jpg[/IMG][IMG]file:///C:/DOCUME%7E1/Yasin/LOCALS%7E1/Temp/msohtml1/01/clip_image087.jpg[/IMG]
MsgBox Mesaj, Görünüm, Başlık KOMUTU
Bir programın çalışması sonucu elde edilen bazı sonuçları ya da gerekli mesajları ekrana aktarmak için kullanılır. Görünüm parametresinin kullanımı zorunlu değildir.
ÖRNEK:Bir üstde kullanılan örnek bunun için geçerlidir.
KULLANICI İLE ETKİLEŞİMLİ MESAJLAR- MsgBox() FONKSİYONU
Pekçok uygulamada, ekrana yazdırılan mesaj sonucunda kullanıcının mesajı pasif olarak izlemesinden ziyade mesaja aktif olarak cevap vermesi ve bu cevaba göre de bir işlem yapılması söz konusu olmaktadır Bu tür bir işlemi gerçekleştirebilmek için MsgBox fonksiyonu kullanılır. Fonksiyonun yazılış biçimi aşağıdaki gibidir:
Cevap%=MsgBox(Mesaj$,Görünüm%,Başlık$)