- Katılım
- 11 Mar 2010
- Konular
- 194
- Mesajlar
- 2,000
- Reaksiyon Skoru
- 175
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 2 Ay 29 Gün
- Başarım Puanı
- 132
- MmoLira
- 0
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
VBDE DEĞİŞKEN TANIMLAMA
VBde ise değişken yapısı daha da gelişmiştir. Değişkenler için önemli durum, değişkenlerin karışıklığa meydan vermemesi için tanımlanması mecburiyeti olmasıdır. Daha önceki iki kuşak Basicte bu mecburiyet yoktur ve değişkenleri benzerlikten dolayı her zaman karıştırmak mümkündür. VBde değişkenleri kullanmadan önce tanımlama mecburiyeti programcının seçimine bırakılmıştır. Programcı isterse Tools-Options menüsü Require Variable Declaration seçeneğini işaretleyerek derleyicinin tanımlanmamış değişken kullanımda hata mesajı vermesini sağlayabiliriz.
Bir değişken tanımlanırken aşağıdaki kuralları göz önünde bulundurulması gerekir.
Değişken ismi bir harf ile başlamalıdır.
Ad1, Ad2
Değişken isminde boşluk bulunmaz. Bunun yerine alt çizgi karakteri kullanılabilir.
Değişken isminde sadece harfler, rakamlar ve alt çizgi karakterleri bulunabilir.
Adı_Soyadı, No1
Değişkene verilecek isim VB komutlarından oluşmamalıdır.
Not, Dim, Val ......vs
Değişken ismi 255 karakterden fazla olmamalıdır.
5.1. VBde Kullanılan Standart Veri Tipleri
VBde değişken tipleri Dim değimi ile tanımlanır. Bu değimin yazılımı;
Dim deg_adı [(Dizi boyutu)] As tipi
deg _adı : Tanımlanacak değişkenin ismidir.
Dizi boyutu : Değişken dizi olarak tanımlanacaksa dizinin boyutu değişken isminden sonra parantez içine yazılır.
Dim x (5) tanımıyla 6 elemanlı dizi tanımlamış oluruz. Dizinin ilk
elemanı 0 son elemanı 5 dir.
Dim x (3 to 6) tanımıyla ilk elamanı x (3) ve son elamanı x (6)
olan bir dizi tanımlanmıştır.
Tipi : Tanımlanacak değişkenin tipi belirlenir. Bunlar ;
Byte : 1 Baytlık tamsayı tipidir. 0 ile 255 arasında değer alabilir.
Integer : 2 Baytlık işaretli tamsayı tipidir. 32768 ile 32767 arasında değer alabilir.
Long : 4 Baytlık işaretli tamsayı tipidir. 2.147.483.648 ile 2. 147.483.647 arasında değer alabilir.
Not: Yukarıdaki değişken tiplerine ondalık sayı atanması durumunda sayı en yakın tamsayıya yuvarlatılacaktır. ( x=4,3 ise x= 4 atanır, y=3.6 ise y=4 atanır)
Single : 4 Baytlık ondalık sayı tipidir. 3.402823 x 1038 ile 1.401298 x 10-45 arasında değer alabilir.
Double : 8 Baytlık ondalık sayı tipidir. 1.79769313486232 x 10308 ile 4.94065645841247 x 10-324 arasında değer alabilir.
Currency : 8 Baytlık ondalık sayı tipidir. Ancak sayının ondalık kısmı 4 basamaktan fazla olamaz. 92337203685477.5808 ile 922337203685477.5807 arasında değer alabilir.
Decimal : 14 Baytlık bir sayı tipidir. Bu tipin en önemli özelliği sayıdaki bütün basamakların tutulmasıdır.
Boolean : 2 Baytlık bir veri tipidir. Sadece True ve False değerleri alabilir.
Dim ogrenci As Boolen
Ogrenci=True
Ogernci=1 Bu atamaların hepsi aynı işi
Ogernci=100 görür.
String : Karakter sınırı verilmezse 2 milyar karaktere kadar atama yapılabilen sayısal veri tipidir. +10 bayt yer kaplar. Karakter sayısını sınırlamak için ;
Dim a As String * sınır yazılır.
Dim a String İstenildiği kadar karakter ataması yapılabilir.
Dim b String * 3 3 tane karakter ataması yapılabilir.
Variant : VBde değişken tanımlanırken tip ismi verilmemişse bu tip Variant olarak ele alınır ve değişkenin tipi atanacak değere göre değişir. Variant tipler yukarıdaki tiplerden herhangi biri gibi işleme girebilir ve programın çalışması esnasında değişebilir.
Date : 8 Baytlık yer kaplayan bu değişken tipi 1/1/100 ile 31/12/9999 arasındaki tarih ve 0:00:00 ile 23:59:59 arasında saat atamaları yapılabilir.
Object : 4 Baytlık bir veri tipidir. OLE işlemlerinde kullanılmak amacıyla tasarlanmıştır. Bu tipte değişkenlere atama yapılırken Set operatörü kullanılır.
5.2. Kullanıcı Tarafından Yeni Tip Tanımlanması
Type tip_adı
Deg_adı As tipi
Deg_adı As tipi
.........................
.........................
.........................
End Type
Bu sekil de tanımlanan tipte bir değişken tanımlamak için de;
Dim deg_adı As tip_ismi olarak tanımlanabilir.
Tip tanımı bir form içerisinde ancak Private olarak tanımlanabilir. Yani tanımlanan tip sadece o formda kullanılır. Genel yani Public bir tip ise ancak bir modül içerisinde kullanılabilir.
Bir formda tip;
Private Type Ad
..............
End Type şeklinde tanımlanır.
Örnek 5.1:
Type Rehber
Ad As String
Soyadı As String
Tel As Integer
Adres As String
End Type
Burada Rehber değişkenini değil Rehber tipini tanımladık. Artık Rehber yapısındaki değişkenleri tanımlayabiliriz.
Dim adı As Rehber şeklinde tanımlayabiliriz.
Bu değişkene değer atamak için . operatörünü kullanalım ;
Adı.Ad = Bahadır
5.2.1. Enum
Enum Tip İsmi
Elemen1=Sayı1
Eleman2=Sayı2
........................
Eleman3=SayıN
End Enum
Bu tip her bölüme bir numara verir. VB bu bölümü bir sayı olarak kullanmasına rağmen bunu bir string gibi kullanma imkanı verir.
Örnek 5.2:
Enum bolum
Bilgisayar=1
Elektronik=2
Makine=3
Metal=4
Yapı=5
YapıRes=6
End Enum
Tanımını yaptıktan sonra bolum tipinde değişkenler tanımlayarak bu değişkenlere değer atamak mümkündür.
Dim eğitim As bolum
Bolum=Bilgisayar
Satırı ile bolum değişkenine Bilgisayar atamaktayız. Bu işlem eğitim=1 satırı ile aynı işi yapmasına karşın anlaşılması daha kolaydır.
5.3. Dinamik Dizi Tanımlama
Programda tanımlanacak dizinin boyutu her zaman belli olmayabilir. Bu durumda diziyi dinamik olarak tanımlamamız gerekir. Diziyi dinamik olarak tanımlayabilmek için ReDim değimi kullanılır. Diziyi dinamik olarak tanımlamak demek dizinin boyunun ihtiyaç olduğunda artırılması veya azaltılması demektir. Üstelik dizinin eski halini koruyarak.
ReDim [Preserve] deg_adı (dizi boyutu] As tipi
ReDim ile dizin ilk defa tanımlanacağı gibi yine ReDimle tanımlanmış dizinin boyutunu değiştirmek için de kullanılabilir. Burada Dimden farklı olarak Preserve parametresi vardır.
Preserve, dizinin yeniden boyutlandırılması durumunda dizide bulunan elaman içeriklerini yeni dizide de bulunmasını sağlar.
Tanımlanacak dizi local bir dizi olmayacaksa dizi öncelikle Dim veya Global değimiyle aşağıdaki gibi tanımlanmalıdır.
Dim deg_adı () As tipi
Görüldüğü dizi tanımlanırken parantez içerisinde dizi boyutu verilmemiştir. Bu VBye dizinin dinamik olarak tanımlanacağını belirtecektir. Daha sonra dizinin elaman sayısı ReDim değimi kullanılarak belirlenir.
Private Type takip
Ad As String * 25
Soyad As String * 25
Sınıfı As String * 2
No As String *6
End Type
Dim Ogr () As takip Diziyi dinamik olarak tanımla
Dim dizi_boyu As Integer En son tanımlanan dizinin boyutu
Dim eleman_say As Integer Dizideki son eleman indeksi
5.4. Global ve Local Değişkenler
Global değişkenler programın bütün fonksiyonları kullanılabilen değişkenlerdir. Local değişkenler ise sadece tanımlandıkları fonksiyonda kullanılabilirler.
Dim değimi ile yapılan tanımlamalar yerine Global ve Localdır. Dim ile tanımlana değişkenler;
General-Declarations kısmında tanımlanmışsa modül veya form içerisinde Globaldır. Buna VBde Modüle Level denir.
Bir fonksiyon veya alt programda tanımlanmışsa Localdır. Sadece o prosedür tarafından kullanılabilir.
Bir formun General Declarations kısmında Public değimi ile tanımlanmışsa diğer modüller ve formlarda bu değişkeni kullanabilirler. Ancak değişkenin isminden önce modülün/formun ismini vermesi gerekir.
Form1 . x = 4
Bir değişkeni programın her tarafında kullanılacak şekilde tam olarak global tanımlamak için o değişkeni bir modülün General-Declaration kısmında Public değimi ile tanımlamak gerekir.
Public x
Local değişkenlerin önemli bir avantajı bellekte fazladan yer işgal
etmemeleridir (Static olarak kullanılmamışlarsa). Global değişkenler program çalıştığı sürece bellekte tutulmalarına rağmen local değişkenler, değişkenin bulunduğu fonksiyona girince değişken belleğe alınır ve fonksiyonun çalışması bitince bellekten atılır.
5.5. Static Değişkenler
Local olarak tanımlanan bir değişken tanımlandığı alt program veya fonksiyonun çalışması bittikten sonra bellekten atılır. İlgili prosedür ikinci kez çalıştırıldığında Local değişkenler eski değerlerinden değil baştan başlarlar.(string ise , sayı ise 0 )
Local olarak tanımlanan bir değişkenin değerinin tanımlandığı alt program veya fonksiyonun çalışması bittikten sonra da değerinin korunması isteniyorsa Dim yerne Static değimiyle tanımlama yapılır. Static değimi bir alt program veya fonksiyon altında tanımlanabilir:
Static deg_adı [(dizi boyutu)] As tipi
5.6. Sabit Tanımlama
Programda değerlerinin değişmesi istenmeyen değerler sabit olarak tanımlanır. VB sabit tanımlama;
Cost Sabit ismi=Değeri
Örnek 5.3:
Cost PI=3.1415
5.7. Değişkenlere İlk Değer Ataması
Local değişkenlere ilk değer ataması şu şekildedir.
Dim değimiyle ile tip ismi kullanılmadan yapılan tanımlamalarda ilk değer ataması direk olarak tanımın yapıldığı satırda yapılabilir.
Dim x=5, y=10
Tip ismi kullanılarak yapılan tanımlamalarda ise ikinci bir satırda ilk değer ataması yapılır.
Dim x As Integer
x=5
Global olarak tanımlanan değişkene ilk değer ataması Declarations kısmında yapılır ve burası bir alt program değildir. Dolayısıyla Global olarak tanımladığımız değişkenlerimize ilk değer atamasını Form_Load veya projenin çalışmaya başladığı alt program altında yapmalıyız.
Static değişkenlere de ilk değer ataması IsEmpty () fonksiyonu ile yapılır. Bu fonksiyon bir değişkene değer atanıp atanmadığını kontrol eder. Verilen değişkene değer ataması yapılmamışsa fonksiyondan geri dönen değer TRUEdir. Fonksiyonun bu özelliğinden yararlanarak static olarak tanımlanan değişkene daha önce değer atanıp atanmadığını yani ilk defamı kullanıldığını öğrenebiliriz.
Static i;
If IsEmpty(i) then i=5
Böylece alt program ilk defa çalıştığında iye her hangi bir değer ataması olmadığı için şartımız çalışacak ve ilk değer atanacaktır. Alt programın sonraki seferlerde çalışması durumunda ise inin static olmasından dolayı atanmış bir değer olacak ve şartımız çalışmayacaktır. Böylece sadece alt program ilk defa çalıştığında ilk değerimizi atamış olacağız.
VBde bir diziye değer ataması da değişkeni Variant olarak tanımladıktan sonra Array fonksiyonu ile o değişkenin bir dizi olduğunu belirtmek ve ilk değer atamak mümkündür.
Dim Dizi [As Variant]
Dizi=Arrray(eleman)
Örnek5.4:
Dim gün
Gün= Array(Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi)
5.8.Kullanılan Değişkenlerin Tipini Belirlemek
Tipi belirtilmeyen Variant tipi değişkenlere programın işletimi sırasında istenen tipteki bilgi aktarılabilir. VarType fonksiyonu ile Variant bir değişkenin hangi tipte bilgi içerdiği öğrenilebilir.
VarType (Variant Değişken Adı)
Yazılımında da görüldüğü gibi bu fonksiyon dışarıdan içerdiği bilginin tipi öğrenilmek istenen değişkenin adını almaktadır. Geriye ise değişkenin içerdiği bilginin tipini temsil eden sayısal bir değeri döndürmektedir. Eğer Variant değişken karaktersel bilgi içeriyorsa VarType() fonksiyonu geriye 8 sayısal değerini döndürür. VarType fonksiyonu ile döndürülecek sayısal değer ve bu değerlerin temsil ettikleri veri tipleri aşağıdaki tabloda verilmiştir.
5.9. Tip Değiştirme İşlemleri
Ccur(ifade): Parantez içinde verilen ifadeyi Currency tipine dönüştürür.
CDbl(ifade): Parantez içinde verilen ifadeyi Double tipine dönüştürür.
CInt(ifade): Parantez içinde verilen ifadeyi Integer tipine dönüştürür.
CLng(ifade): Parantez içinde verilen ifadeyi Long tipine dönüştürür.
CSng(ifade): Parantez içinde verilen ifadeyi Single tipine dönüştürür.
CVar(ifade): Parantez içinde verilen ifadeyi Variant tipine dönüştürür.
CBool(ifade): Parantez içinde verilen ifadeyi Boolen tipine dönüştürür.
CByte(ifade): Parantez içinde verilen ifadeyi Byte tipine dönüştürür.
CDec(ifade): Parantez içinde verilen ifadeyi Decimal tipine dönüştürür.
CDate(ifade): Parantez içinde verilen ifadeyi Date tipine dönüştürür. İki tarih arasında işlem yapabilmek için bu dönüşüm kullanılır.
5.10. Değişkenlerle İlgili Komutlar
5.10.1. IsDate
Değişkenin içeriği geçerli bir tarih ise geri dönen tarih True, değilse Falsedir kabul edilen tarih formatı Windowsda tanımlanan formattır.
IsDate (değişken)
Örnek 5.4:
Dim a
a=IsDate(30/02/1999) Verilen tarih geçerli değildir. A=True (Şubat ayı 29 gündür.
a=IsDate(13bfg) Verilen tarih geçerli değildir. A=False
5.10.2. IsNumeric
Verilen değişkenin içeriğinin bir sayı olup olmadığını kontrol eder. Değişkenin içeriği sayı ise geri dönen değer True değilse Falsedir.
IsNumeric(değişken)
5.10.3. IsArray
Girilen değişken bir dizi ise True değilse falese üretir. Yani bir değişkenin dizi olup olamadığını öğrenmek için kullanılır.
IsArray(değişken)
5.10.4. IsEmpty
Tanımlanmış bir değişkene henüz bir değer atanmamışsa o değişken Emptydir. Bir değişkene değer atanıp atanmadığını öğrenmek için kullanılır. Dönen değer False ise değişkene bir atama yapılmıştır.
IsEmpty (Değişken)
5.10.5. IsMissing
VBde fonksiyon veya alt programlara giriş parametresi olarak Optional değimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing fonksiyonu bu tip parametrelerin verilip verilmediğini kontrol etmek için kullanılır.
IsMissing (Değişken)
5.10.6. IsObject
Verilen değişkenin tipi Object tipinde ise fonksiyondan geriye True değeri döner.
IsObject (Değişken)
5.10.7. Erase
İsmi verilen diziyi siler.
Erase Diziismi :ka19:
VBde ise değişken yapısı daha da gelişmiştir. Değişkenler için önemli durum, değişkenlerin karışıklığa meydan vermemesi için tanımlanması mecburiyeti olmasıdır. Daha önceki iki kuşak Basicte bu mecburiyet yoktur ve değişkenleri benzerlikten dolayı her zaman karıştırmak mümkündür. VBde değişkenleri kullanmadan önce tanımlama mecburiyeti programcının seçimine bırakılmıştır. Programcı isterse Tools-Options menüsü Require Variable Declaration seçeneğini işaretleyerek derleyicinin tanımlanmamış değişken kullanımda hata mesajı vermesini sağlayabiliriz.
Bir değişken tanımlanırken aşağıdaki kuralları göz önünde bulundurulması gerekir.
Değişken ismi bir harf ile başlamalıdır.
Ad1, Ad2
Değişken isminde boşluk bulunmaz. Bunun yerine alt çizgi karakteri kullanılabilir.
Değişken isminde sadece harfler, rakamlar ve alt çizgi karakterleri bulunabilir.
Adı_Soyadı, No1
Değişkene verilecek isim VB komutlarından oluşmamalıdır.
Not, Dim, Val ......vs
Değişken ismi 255 karakterden fazla olmamalıdır.
5.1. VBde Kullanılan Standart Veri Tipleri
VBde değişken tipleri Dim değimi ile tanımlanır. Bu değimin yazılımı;
Dim deg_adı [(Dizi boyutu)] As tipi
deg _adı : Tanımlanacak değişkenin ismidir.
Dizi boyutu : Değişken dizi olarak tanımlanacaksa dizinin boyutu değişken isminden sonra parantez içine yazılır.
Dim x (5) tanımıyla 6 elemanlı dizi tanımlamış oluruz. Dizinin ilk
elemanı 0 son elemanı 5 dir.
Dim x (3 to 6) tanımıyla ilk elamanı x (3) ve son elamanı x (6)
olan bir dizi tanımlanmıştır.
Tipi : Tanımlanacak değişkenin tipi belirlenir. Bunlar ;
Byte : 1 Baytlık tamsayı tipidir. 0 ile 255 arasında değer alabilir.
Integer : 2 Baytlık işaretli tamsayı tipidir. 32768 ile 32767 arasında değer alabilir.
Long : 4 Baytlık işaretli tamsayı tipidir. 2.147.483.648 ile 2. 147.483.647 arasında değer alabilir.
Not: Yukarıdaki değişken tiplerine ondalık sayı atanması durumunda sayı en yakın tamsayıya yuvarlatılacaktır. ( x=4,3 ise x= 4 atanır, y=3.6 ise y=4 atanır)
Single : 4 Baytlık ondalık sayı tipidir. 3.402823 x 1038 ile 1.401298 x 10-45 arasında değer alabilir.
Double : 8 Baytlık ondalık sayı tipidir. 1.79769313486232 x 10308 ile 4.94065645841247 x 10-324 arasında değer alabilir.
Currency : 8 Baytlık ondalık sayı tipidir. Ancak sayının ondalık kısmı 4 basamaktan fazla olamaz. 92337203685477.5808 ile 922337203685477.5807 arasında değer alabilir.
Decimal : 14 Baytlık bir sayı tipidir. Bu tipin en önemli özelliği sayıdaki bütün basamakların tutulmasıdır.
Boolean : 2 Baytlık bir veri tipidir. Sadece True ve False değerleri alabilir.
Dim ogrenci As Boolen
Ogrenci=True
Ogernci=1 Bu atamaların hepsi aynı işi
Ogernci=100 görür.
String : Karakter sınırı verilmezse 2 milyar karaktere kadar atama yapılabilen sayısal veri tipidir. +10 bayt yer kaplar. Karakter sayısını sınırlamak için ;
Dim a As String * sınır yazılır.
Dim a String İstenildiği kadar karakter ataması yapılabilir.
Dim b String * 3 3 tane karakter ataması yapılabilir.
Variant : VBde değişken tanımlanırken tip ismi verilmemişse bu tip Variant olarak ele alınır ve değişkenin tipi atanacak değere göre değişir. Variant tipler yukarıdaki tiplerden herhangi biri gibi işleme girebilir ve programın çalışması esnasında değişebilir.
Date : 8 Baytlık yer kaplayan bu değişken tipi 1/1/100 ile 31/12/9999 arasındaki tarih ve 0:00:00 ile 23:59:59 arasında saat atamaları yapılabilir.
Object : 4 Baytlık bir veri tipidir. OLE işlemlerinde kullanılmak amacıyla tasarlanmıştır. Bu tipte değişkenlere atama yapılırken Set operatörü kullanılır.
5.2. Kullanıcı Tarafından Yeni Tip Tanımlanması
Type tip_adı
Deg_adı As tipi
Deg_adı As tipi
.........................
.........................
.........................
End Type
Bu sekil de tanımlanan tipte bir değişken tanımlamak için de;
Dim deg_adı As tip_ismi olarak tanımlanabilir.
Tip tanımı bir form içerisinde ancak Private olarak tanımlanabilir. Yani tanımlanan tip sadece o formda kullanılır. Genel yani Public bir tip ise ancak bir modül içerisinde kullanılabilir.
Bir formda tip;
Private Type Ad
..............
End Type şeklinde tanımlanır.
Örnek 5.1:
Type Rehber
Ad As String
Soyadı As String
Tel As Integer
Adres As String
End Type
Burada Rehber değişkenini değil Rehber tipini tanımladık. Artık Rehber yapısındaki değişkenleri tanımlayabiliriz.
Dim adı As Rehber şeklinde tanımlayabiliriz.
Bu değişkene değer atamak için . operatörünü kullanalım ;
Adı.Ad = Bahadır
5.2.1. Enum
Enum Tip İsmi
Elemen1=Sayı1
Eleman2=Sayı2
........................
Eleman3=SayıN
End Enum
Bu tip her bölüme bir numara verir. VB bu bölümü bir sayı olarak kullanmasına rağmen bunu bir string gibi kullanma imkanı verir.
Örnek 5.2:
Enum bolum
Bilgisayar=1
Elektronik=2
Makine=3
Metal=4
Yapı=5
YapıRes=6
End Enum
Tanımını yaptıktan sonra bolum tipinde değişkenler tanımlayarak bu değişkenlere değer atamak mümkündür.
Dim eğitim As bolum
Bolum=Bilgisayar
Satırı ile bolum değişkenine Bilgisayar atamaktayız. Bu işlem eğitim=1 satırı ile aynı işi yapmasına karşın anlaşılması daha kolaydır.
5.3. Dinamik Dizi Tanımlama
Programda tanımlanacak dizinin boyutu her zaman belli olmayabilir. Bu durumda diziyi dinamik olarak tanımlamamız gerekir. Diziyi dinamik olarak tanımlayabilmek için ReDim değimi kullanılır. Diziyi dinamik olarak tanımlamak demek dizinin boyunun ihtiyaç olduğunda artırılması veya azaltılması demektir. Üstelik dizinin eski halini koruyarak.
ReDim [Preserve] deg_adı (dizi boyutu] As tipi
ReDim ile dizin ilk defa tanımlanacağı gibi yine ReDimle tanımlanmış dizinin boyutunu değiştirmek için de kullanılabilir. Burada Dimden farklı olarak Preserve parametresi vardır.
Preserve, dizinin yeniden boyutlandırılması durumunda dizide bulunan elaman içeriklerini yeni dizide de bulunmasını sağlar.
Tanımlanacak dizi local bir dizi olmayacaksa dizi öncelikle Dim veya Global değimiyle aşağıdaki gibi tanımlanmalıdır.
Dim deg_adı () As tipi
Görüldüğü dizi tanımlanırken parantez içerisinde dizi boyutu verilmemiştir. Bu VBye dizinin dinamik olarak tanımlanacağını belirtecektir. Daha sonra dizinin elaman sayısı ReDim değimi kullanılarak belirlenir.
Private Type takip
Ad As String * 25
Soyad As String * 25
Sınıfı As String * 2
No As String *6
End Type
Dim Ogr () As takip Diziyi dinamik olarak tanımla
Dim dizi_boyu As Integer En son tanımlanan dizinin boyutu
Dim eleman_say As Integer Dizideki son eleman indeksi
5.4. Global ve Local Değişkenler
Global değişkenler programın bütün fonksiyonları kullanılabilen değişkenlerdir. Local değişkenler ise sadece tanımlandıkları fonksiyonda kullanılabilirler.
Dim değimi ile yapılan tanımlamalar yerine Global ve Localdır. Dim ile tanımlana değişkenler;
General-Declarations kısmında tanımlanmışsa modül veya form içerisinde Globaldır. Buna VBde Modüle Level denir.
Bir fonksiyon veya alt programda tanımlanmışsa Localdır. Sadece o prosedür tarafından kullanılabilir.
Bir formun General Declarations kısmında Public değimi ile tanımlanmışsa diğer modüller ve formlarda bu değişkeni kullanabilirler. Ancak değişkenin isminden önce modülün/formun ismini vermesi gerekir.
Form1 . x = 4
Bir değişkeni programın her tarafında kullanılacak şekilde tam olarak global tanımlamak için o değişkeni bir modülün General-Declaration kısmında Public değimi ile tanımlamak gerekir.
Public x
Local değişkenlerin önemli bir avantajı bellekte fazladan yer işgal
etmemeleridir (Static olarak kullanılmamışlarsa). Global değişkenler program çalıştığı sürece bellekte tutulmalarına rağmen local değişkenler, değişkenin bulunduğu fonksiyona girince değişken belleğe alınır ve fonksiyonun çalışması bitince bellekten atılır.
5.5. Static Değişkenler
Local olarak tanımlanan bir değişken tanımlandığı alt program veya fonksiyonun çalışması bittikten sonra bellekten atılır. İlgili prosedür ikinci kez çalıştırıldığında Local değişkenler eski değerlerinden değil baştan başlarlar.(string ise , sayı ise 0 )
Local olarak tanımlanan bir değişkenin değerinin tanımlandığı alt program veya fonksiyonun çalışması bittikten sonra da değerinin korunması isteniyorsa Dim yerne Static değimiyle tanımlama yapılır. Static değimi bir alt program veya fonksiyon altında tanımlanabilir:
Static deg_adı [(dizi boyutu)] As tipi
5.6. Sabit Tanımlama
Programda değerlerinin değişmesi istenmeyen değerler sabit olarak tanımlanır. VB sabit tanımlama;
Cost Sabit ismi=Değeri
Örnek 5.3:
Cost PI=3.1415
5.7. Değişkenlere İlk Değer Ataması
Local değişkenlere ilk değer ataması şu şekildedir.
Dim değimiyle ile tip ismi kullanılmadan yapılan tanımlamalarda ilk değer ataması direk olarak tanımın yapıldığı satırda yapılabilir.
Dim x=5, y=10
Tip ismi kullanılarak yapılan tanımlamalarda ise ikinci bir satırda ilk değer ataması yapılır.
Dim x As Integer
x=5
Global olarak tanımlanan değişkene ilk değer ataması Declarations kısmında yapılır ve burası bir alt program değildir. Dolayısıyla Global olarak tanımladığımız değişkenlerimize ilk değer atamasını Form_Load veya projenin çalışmaya başladığı alt program altında yapmalıyız.
Static değişkenlere de ilk değer ataması IsEmpty () fonksiyonu ile yapılır. Bu fonksiyon bir değişkene değer atanıp atanmadığını kontrol eder. Verilen değişkene değer ataması yapılmamışsa fonksiyondan geri dönen değer TRUEdir. Fonksiyonun bu özelliğinden yararlanarak static olarak tanımlanan değişkene daha önce değer atanıp atanmadığını yani ilk defamı kullanıldığını öğrenebiliriz.
Static i;
If IsEmpty(i) then i=5
Böylece alt program ilk defa çalıştığında iye her hangi bir değer ataması olmadığı için şartımız çalışacak ve ilk değer atanacaktır. Alt programın sonraki seferlerde çalışması durumunda ise inin static olmasından dolayı atanmış bir değer olacak ve şartımız çalışmayacaktır. Böylece sadece alt program ilk defa çalıştığında ilk değerimizi atamış olacağız.
VBde bir diziye değer ataması da değişkeni Variant olarak tanımladıktan sonra Array fonksiyonu ile o değişkenin bir dizi olduğunu belirtmek ve ilk değer atamak mümkündür.
Dim Dizi [As Variant]
Dizi=Arrray(eleman)
Örnek5.4:
Dim gün
Gün= Array(Pazar, Pazartesi, Salı, Çarşamba, Perşembe, Cuma, Cumartesi)
5.8.Kullanılan Değişkenlerin Tipini Belirlemek
Tipi belirtilmeyen Variant tipi değişkenlere programın işletimi sırasında istenen tipteki bilgi aktarılabilir. VarType fonksiyonu ile Variant bir değişkenin hangi tipte bilgi içerdiği öğrenilebilir.
VarType (Variant Değişken Adı)
Yazılımında da görüldüğü gibi bu fonksiyon dışarıdan içerdiği bilginin tipi öğrenilmek istenen değişkenin adını almaktadır. Geriye ise değişkenin içerdiği bilginin tipini temsil eden sayısal bir değeri döndürmektedir. Eğer Variant değişken karaktersel bilgi içeriyorsa VarType() fonksiyonu geriye 8 sayısal değerini döndürür. VarType fonksiyonu ile döndürülecek sayısal değer ve bu değerlerin temsil ettikleri veri tipleri aşağıdaki tabloda verilmiştir.
5.9. Tip Değiştirme İşlemleri
Ccur(ifade): Parantez içinde verilen ifadeyi Currency tipine dönüştürür.
CDbl(ifade): Parantez içinde verilen ifadeyi Double tipine dönüştürür.
CInt(ifade): Parantez içinde verilen ifadeyi Integer tipine dönüştürür.
CLng(ifade): Parantez içinde verilen ifadeyi Long tipine dönüştürür.
CSng(ifade): Parantez içinde verilen ifadeyi Single tipine dönüştürür.
CVar(ifade): Parantez içinde verilen ifadeyi Variant tipine dönüştürür.
CBool(ifade): Parantez içinde verilen ifadeyi Boolen tipine dönüştürür.
CByte(ifade): Parantez içinde verilen ifadeyi Byte tipine dönüştürür.
CDec(ifade): Parantez içinde verilen ifadeyi Decimal tipine dönüştürür.
CDate(ifade): Parantez içinde verilen ifadeyi Date tipine dönüştürür. İki tarih arasında işlem yapabilmek için bu dönüşüm kullanılır.
5.10. Değişkenlerle İlgili Komutlar
5.10.1. IsDate
Değişkenin içeriği geçerli bir tarih ise geri dönen tarih True, değilse Falsedir kabul edilen tarih formatı Windowsda tanımlanan formattır.
IsDate (değişken)
Örnek 5.4:
Dim a
a=IsDate(30/02/1999) Verilen tarih geçerli değildir. A=True (Şubat ayı 29 gündür.
a=IsDate(13bfg) Verilen tarih geçerli değildir. A=False
5.10.2. IsNumeric
Verilen değişkenin içeriğinin bir sayı olup olmadığını kontrol eder. Değişkenin içeriği sayı ise geri dönen değer True değilse Falsedir.
IsNumeric(değişken)
5.10.3. IsArray
Girilen değişken bir dizi ise True değilse falese üretir. Yani bir değişkenin dizi olup olamadığını öğrenmek için kullanılır.
IsArray(değişken)
5.10.4. IsEmpty
Tanımlanmış bir değişkene henüz bir değer atanmamışsa o değişken Emptydir. Bir değişkene değer atanıp atanmadığını öğrenmek için kullanılır. Dönen değer False ise değişkene bir atama yapılmıştır.
IsEmpty (Değişken)
5.10.5. IsMissing
VBde fonksiyon veya alt programlara giriş parametresi olarak Optional değimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing fonksiyonu bu tip parametrelerin verilip verilmediğini kontrol etmek için kullanılır.
IsMissing (Değişken)
5.10.6. IsObject
Verilen değişkenin tipi Object tipinde ise fonksiyondan geriye True değeri döner.
IsObject (Değişken)
5.10.7. Erase
İsmi verilen diziyi siler.
Erase Diziismi :ka19:

