Visual Basicte Veri Tipleri
Integer :
Visual Basic’te tam sayı degişkenleri tanımlamak için
kullanılır. Hafızada 2 byte yer kaplarlar. Alabilecegi değer aralıgı –32768 ile
+32767 arasındadır.DefInt bildiri deyimi ile tanımlanabilirler. Ayrıca bir degişkenin
sonunda % karakteri bulunuyorsa bu degişken integer tipindedir.
Örnek :Private Sub Form_Load()Dim Maas As IntegerDefInt A-COran% = 100A_sayı = 100B_sayı = Oran*A_sayıC_sayı = B_sayı + A_sayı – 1000Maas= 32767End Sub
Eger burada tanımlanan degişkenlere daha büyük sayılar atanırsa overflow oluşur.
Long :
Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabilecegimiz bir veri tipidir. Hafızada 4 byte yer kaplar. Kullanılabilecek uç degerler +2,147,483,647 ile -2,147,483,648 dir. Long tipinde bir degişken tanımlamak için DefLng bildirimini veya degişken sonunda & karakterini kullanabiliriz.
Örnek :Private Sub Form_Load()DefLng A-BBölüm=50000 cıkan&=600000Kalan& = (cıkan / Bölüm ) * 10000End Sub
Single :
Tam sayı olmayan küsüratlı sayılar için kullanabilecegimiz bir veri tipidir. Kayan-noktalı sayı olarak isimlendirilir. Single tipindeki veriler bellekte 4 byte yer kaplarlar. Nekatif sayılar için alabilecegi aralık -3.402823E38 ile –1.401298E-45 ,pozitif sayılar için alabilecegi aralık 1.401298E-45 ile 3.402823E38 arasındadır.Single tipinde veri tanımlamak için DefSgn bildirimi veya degişken sonuna ! karakteri konur. 7 haneye kadar hassastır.Daha sonrası yuvarlatılır.
Örnek :Private Sub Form_Load()DefSgn A-BBölüm=50000 Cıkan!=600000End Sub
Double :
Visual Basic’te kullanılabilecek en büyük sayısal degerlerin
veri tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar.
Maximum alabilecegi degerler pozitif sayılar için 4.94065645841247E-324 ile
1.797693134862232E308 , nekatif sayılar için de -1.797693134862232E308 ile
-4.94065645841247E-324 arasındadır. DefDbl bildirimi veya # sembölü ile double
tipinde degişkenler tanımlanabilir
Örnek :Private Sub Form_Load()DefDbl A-KDarı=50000 Bugday=600000Arpa=340.56End Sub
Currency :
Sayısal tipdeki veriler için tanımlanmış özel bir veri tipidir.Hafızada 8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.(nokta hariç) Alabilecegi maximum degerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasındadır. @ sembolü veya DefCur bildirimi ile Currency tipinde degişken’ler tanımlanabilirler.
Örnek :Private Sub Form_Load()Dim Maas As Currency , Borc As CurrencyMaas = 500000000 Borc = 68000000Zayi@ = 340000.56End Sub
Date :
Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz. DefDate bildirisi ile tarih türünde degişkenler tanımlayabiliriz.
Örnek :Private Sub Form_Load()Dim Dogum_tarihi As Date , Evlenme_Tarihi As DateDogum_tarihi =#Dec,9,1977#Evlenme_Tarihi=#May,15,1998#End Sub
Boolean :
Mantıksal veri tipleri için kullanılır. İki seçenekten birisini alabilir.Bunlar True veya False degerleridir. Bellekte 2 byte yer işgal ederler.Boolean tipindeki bir degişkeni tanımlamak için DefBool sözcügü kullanılır.
Örnek :Private Sub Form_Load()Dim Durum As Boolean , Duyum As BooleanDurum = TrueDuyum = FalseEnd Sub
Byte :
O ile 255 arasındaki tamsayıları ifade etmek için
kullanılabilecek veri tipidir.DefByte deyimi ile byte tipinde degişkenler
tanımlanabilir.
Örnek :
Private Sub Form_Load()Dim Durum As Byte , Duyum As ByteDurum =23Duyum = 143End Sub
String :
Metin türü bilgileri saklamak için kullanılabilecek veri
türüdür. 16 bitlik versiyonda 0 ile 65538 arasında , 32 bitlik versiyonda ise 0
ile 2,000,000,000 arasında karakter alabilir. String türünde degişken
tanımlamak için Defstr veya $ sembolü kullanılır.
Örnek :Private Sub Form_Load()Dim Adi As String , Soyadi As StringAdı =”Kemal”Soyadı = ”Tas”No$="1323970067"End Sub
Variant :
Bu tipte tanımlanmış bir degişkene herhangi bir tip’te veri yüklenebilir.Yani ne tür bir veri girecegimizi bilmedigimiz degişkenleri Variant tipinde tanımlamalıyız. Bu tür degişkenler hafızada 16 byte tan fazla yer kaplarlar. DefVar bildiri sözcügü ile Variant türünde degişkenler tanımlıyabiliriz.
Variant türünde degişkenler
tanımlamak fazla kullanışlı degildir.Çünki hafızada fazla yer kaplarlar.
Örnek :Private Sub Form_Load()Dim Ad As Variant , Maas As Variant , Tel As VariantDim Dogum_tarihi As VariantAd="Aydın Kale"Maas=200000Tel="500-45-00"Dogum_tarihi=#Apr,3,1970#End Sub
Const :
Bunlar program içinde degeri degiştirilemeyen sabitlerdir.
Public ve Private tipinde sabitler tanımlanabiliilir. Public sabitlere tüm
modüller içinden ulaşılabilir.Private türündeki sabitler ise sadece
tanımlandıkları modül içersinde geçerlidirler.Ayrıca Visual Basic içinde
tanımlanmış çok sayıda sabit vardır. Bunlara CONSTANT.TXT dosyasını açarak
inceleyebiliriz.
Örnek :Const sehır=”Istanbul”Const Ulke="Turkey"Const posta_kodu=34650Const tek_kod=212
Type - End Type Yapısı :
Type yapısını kullanarak programıcı farklı veri tiplerini
kullanarak kendi veri yapısını oluşturabilir. Bu C deki Struct yapısına
benzetilebilir. Bu yeni veri tipine record adı verilir. Herhangi bir modülün
Declarations kısmında aşagıdaki gibi bir tanımlama yapabiliriz.
Örnek :Type OgrencıAd As String *10Soyad As String *12Not As ByteKredi As IntegerEnd Type
'Ogrencı veri tipi toplam hafızada 25 byte yer kaplamaktadır. Bu veri tipini kullanmak için 'Ogrencı tıpınde degişkenler tanımlamak gerekmektedir.
Private Sub Form_Load()Dim A As OgrencıDım B As Ogrencı'Bu degıskenlere bilgi atamak aşagıdaki şekildeki gibidir.A.Ad="Ali" A.Soyad ="Armer" End Sub
String türü degişkenlere
sabit bir uzunlukta yer ayırmak istersek aşagıdaki şekilde bir tanımlama yapmalıyız.
Dim Name As String *12
Dim Address As String *50
Diziler:
Aynı tür bilgileri bellekte tutmak için kullanabilecegimiz
listelere dizi adı verilir. Dizi kullamanın avantajı aynı tür bilgiler bir
listede tutularak daha hızlı işlem yapılabilmesi saglanmış olacaktır.Visual Basic'de
dizi şu şekildedir
Dizi_adı(İndis)
olacaktır.
Örnek:
Private Sub Form_Load()Dim ad(2) As StringDim no(2) As Integerad(0) = "ali"ad(1) = "ahmet"ad(2) = "ebru"no(0) = 133no(1) = 56no(2) = 67End Sub
Bu örnek'te ad ve no olmak üzere iki adet dizi tanımlanmaktadır. ad dizisi string türünde bilgileri tutacak ve no dizisi ise integer türündeki bilgileri saklayacaktır. Görmüş olgunuz gibi dizilere bilgi atama şekli
dizi_adı(indis_sırası)=atanacak_bilgi
şeklindedir.
Eger diziyi sıfırdan
degilde bir den itibaren başlatmak istersek diziyi tanımlamadan önce Option
Base 1 satırını eklemeliyiz.
Burada dizi indisleri sıfırdan başlayarak tanımlama yaparken bizim
belirttiğimiz değere kadardır. Yani bizim bu dizilere atayabileceğimiz veri
sayısı diziyi tanımlarken belirttiğimiz indis değerinden bir fazla olacaktır.
Eger deger atama yaparken
belirttigimiz sınırların dışına çıkarsak hata oluşur. Dizilere deger atarken
dizi sınırlarını kontrol etmekle olası bir hatayı önlemiş oluruz.
Statik
Diziler :
Bu tip
dizilerde kullanılacak yer sayısı sabittir. Bu tip diziler sadece
tanımlandıkları modül içersinde kullanılabilirler. Statik dizi şu şekilde
tanımlanabilir
Dim
dizi_adı(sayi) As Veri_Tipi
Tüm proje içinde kullanılacak bir dizi tanımlanmak isterse
standart modülün General,Declarations bölümünde yukarıdaki şekildeki gibi
tanımlanmalıdır
Örnek :
Option Base 1Dim a(5) As IntegerPrivate Sub Command1_Click()Text1.Text = a(1) + a(2)End SubPrivate Sub Form_Load()a(1) = 10a(2) = 20End Sub
Bu örnekte görüldügü gibi projenin general,declarations kısmında a() dizisi tanımlanıyor.Bu dzi tanımlanmadan önce dizi indislerinin 1 den itibaren başlıyacagını belirten Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiginde bu dizinin ilk elemanınna 10 sayısı ikinci elemanına 20 sayısı atanıyor. Eger kullanıcı Command1 isimli butona tıklarsa dizinin ilk ce ikinci elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelligine atanıyor. Yani TextBox'ın bu sayıların toplamını göstermesi sağlanıyor.
Dinamik Diziler
Bu tip dizilerde kullanılacak yer sayısında bir sınırlama
yoktur. Bu tip diziler ilk başta şagıdaki şekildeki gibi bir tanımlamaya
ihtiyaç duyarlar.
Dim dizi_adı( ) As Veri_Tipi
Daha sonra bu dizi kullanılacak iken botunu belirtmek gerekir
bunun içinde aşagıdaki gibi bir tanımlama yapılmalıdır.
ReDim dizi_adı(boyut ) As Veri_Tipi
Artık bu veri dizisini projemiz içinde kullanabiliriz.
Örnek :
Option Base 1Private Sub Form_Load()Dim s() As StringEnd SubPrivate Sub Command1_Click()ReDim s(10) As Strings(1) = "Selam "s(2) = "Ayşe"Text1.Text = s(1) + s(2)End Sub
Bu dizi tanımlanmadan önce dizi indislerinin 1 den itibaren
başlıyacagını belirten Option Base1 satırı koda dahil edilmiştir. Form1
yüklendiginde s adlı bir dinamik dizi tanımlanmaktadır. Kullanıcı Command1
isimli butuna tıkladıgında s dizisinin boyutu belirtilerek yeniden
tanımlanmıştır. Bu dizinin ilk elemanınna "Selam " degeri ikinci
elemanına "Ayşe" degeri atanıyor. Dizinin ilk ve ikinci elemanları
toplanarak Form üzerinde Text1 adlı nesnenin Text özelligine atanıyor. Yani
TextBox'ın bu degerlerin toplamını göstermesi sağlanıyor.
Örnek :
Option Base 1Private Sub Form_Load()Dim s() As StringEnd Sub
Private Sub Command1_Click()ReDim s(10) As Strings(1) = "selam"s(2) = "fatih"Text1.Text = s(1) + s(2)End Sub
Private Sub Command2_Click()ReDim s(5) As Strings(2) = "fatih"Text1.Text = s(1) + s(2)End Sub
Bu örnekte yukarıdaki örnekten tek farklı yan olarak bir Command butonun arkasına yazılmış kod bulunuyor. Eger kullanıcı Command1 adlı butondan sonra bu butona tıklarsa ne olacak ona bakalım. Command2 butonuna tıklanıldıgında s() dizisi tekrardan boyutu 5 olrak tanımlanıyor. s() dizisine daha önce atamış bütün degerler siliniyor. Yani s() dizisi bir nevi boşaltılıyor ve yeniden boyutlandırılıyor. Eger s() dizisine daha önce atanmış degerler korunmak istenirse aşagıdaki şekildeki gibi bir tanımlama yapılmak zorundadır.
ReDim Preserve s(boyut) As Veri_tipi
Tip Döşümleri
Visual
Basic'de kullandıgımız sayısal değişkenleri diger veri tiplerine dönüştürebiliriz.
Bu işlemi yapan fonksiyonlara tip dönüşüm fonksiyonları adı verilir. Tip
dönüşüm fonksiyonları aşagıda verilmiştir.
Fonksiyon Geri Dönen Deger Yaptıgı İşlem
CBool(ifade) Boolean Matemetiksel ifadeyi Boolean türüne dönüştürür.
CByte(ifade) Byte Matemetiksel ifadeyi Byte türüne dönüştürür.
CCur(ifade) Currency Matemetiksel ifade Currency türüne dönüştürür.
CDate(ifade) Date Matemetiksel ifade Date türüne dönüştürür.
CDbl(ifade) Double Matemetiksel ifade Double türüne dönüştürür.
CDec(ifade) Decimal Matemetiksel ifadeDecimal sayıya dönüştürür.
CInt(ifade) Integer Matemetiksel ifade tam sayıya dönüştürür.
CLng(ifade) Long Matemetiksel ifade Long türüne dönüştürür.
CSng(ifade) Single Matemetiksel ifade Single türüne dönüştürür.
CVar(ifade) Variant Matemetiksel ifade Variant türüne dönüştürür.
CStr(ifade) String Matemetiksel ifade String türüne dönüştürür.
Aşagıda çeşitli örneklerle tip dönüşümleri açıklanmaya çalışılmıştır.
Örnek1:
A=10 , B=5 , C=10 , D=0check = CBool(A < B) 'check=Falsecheck = CBool(A > B) 'check=Truecheck = CBool(A = C) 'check=Truecheck = CBool(D) 'check=Falsecheck = CBool(B) 'check=True
Örnek2 :
A=10 , B=5 , C=0 check = CBytel(A < B) 'check=0check = CByte(A > B) 'check=1check = CByte(A = C) 'check=0
Örnek3 :
A=1 , B=2 , C=36000 , D=36001check = CDate(A) 'check=12/31/1899check = CDate(B) 'check=1/1/1900check = CDate(C) 'check=7/24/98check = CDate(D) 'check=7/26/98
Örnek4 :
A=2.4 , B=2.5 , C=2.6 , D=3.5check = CInt(AB) 'check=2check = CInt(B) 'check=2check = CInt(C) 'check=3check = CInt(D) 'check=4
Aritmetiksel Operatörler
+ , - , * , / , \ , ^ ,Mod , &
Genel olarak matematiksel işlemlerde kullanılan
operatörlerdir. Bunlara kaynaştırma “&” operatörünü de ilave edebiliriz.
Şimdi bu operatörleri açıklayalım.
+ Operatörü :
Bu operatör ile verilen iki veya daha fazla ifade
toplanabilir.Genel yazılışı aşagıdaki şekilde gibidir.
Sonuc = Ifade1 + Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.(Eger kaynaştırma yapılmamış ise)
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Eger Ifade1 ve Ifade2 strıng türünde veriler ise + operatörü kaynaştırma yapar.
Yani Ifade2 yi Ifade1’ın sonuna ekler.Aşagıda Çeşitli örnekler verilmiştir.
Örnek :
Sonuc=13+45 'Sonuc=58Sonuc=1378+56.78+435.908 'Sonuc=1870.688A=89,B=3456Deger=A+B ' Deger=3545Ad="Ebru"Soyad=” Kayacı”Dim Name As StringName=Ad+Soyad 'Name=”Ebru Kayacı”
Operatörler:
Matematik’de kullanılan çıkartma opratörüdür. Birinci ifadede verilen degerden ikinci ifadeyi çıkarır.
Genel yazılışı aşagıdaki şekildeki gibidir.
Sonuc=Ifade1 – Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle – (çıkarma )operatörü açıklanmaya çalışılmıştır
Örnek :
Sonuc=3475.45-3445.90 'Sonuc = 29.55
Deger=45-788-23 'Deger = - 766
Son=190,Ara=47
Son1=Son-Ara ' Son = 143
* Operatörü :
Matematikdeki çarpma operatörüdür. Verilen iki sayıyı çarpar.
Genel yazım şekli aşagıdaki şekilideki gibidir
Sonuc=Sayı1 * Sayı2
Burda Sonuc mutlaka sayısal
bir degerdir.
Sayı1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Sayı2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle çarpma operatörü açıklanmıştır.
Örnek :
Sonuc=34 * 9 'Sonuc = 306Deger = 87 * 12 'Deger = 1044A=5,B= 56C=A * B 'C = 280
/ Operatörü :
Matematikdeki bölme operatörüdür. Verilen ilk sayıyı ikinci sayıya böler. Genel yazım şekli aşagıdaki şekilideki gibidir.
Sonuc=Ifade11 /Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.Ifade2 sıfırdan farklı bir deger olmalıdır. Yoksa sıfıra bölme hatası oluşur.
Aşagıda çeşitli örneklerle bölme operatörü açıklanmıştır.
Örnek :
Sonuc=34 / 9 'Sonuc = 3.777778Deger = 60 / 12 'Deger = 5A=5,B= 56C=B / A 'C = 11.2
Operatörler:
\ Operatörü :
Matematikdeki bölme operatörüdür. Verilen ilk sayıyı ikinci sayıya böler. Ancak sonuc mutlaka bir tam sayı degeridir. Bölüm küsüratlı ise sayının kusuratını atar.Genel yazım şekli aşagıdaki şekildeki gibidir.
Sonuc=Ifade1 \ Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.Ifade2 sıfırdan farklı bir deger olmalıdır. Yoksa sıfıra bölme hatası oluşur.
Aşagıda çeşitli örneklerle tam bölme operatörü açıklanmıştır
Örnek :
Sonuc=34 \ 9 'Sonuc = 3Deger = 60 \ 12 'Deger = 5A=5,B= 56C=B \ A 'C = 11
^ Operatörü :
Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini (üssünü) alır. Genel yazım şekli aşagıdaki şekilideki gibidir.
Sonuc=Ifade1 ^ Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle bölme operatörü açıklanmıştır.
Örnek :
Sonuc=34 ^ 9 'Sonuc = 6.071699276646e+13Deger = 60 ^ 2 'Deger = 3600A=5,B= 5C=B ^ A 'C = 3125
Mod Operatörü :
Matematikdeki mod alma operatörüdür. Verilen ilk sayının modunu ikinci sayı göre alır. Genel yazım şekli aşagıdaki şekilideki gibidir.
Sonuc=Ifade1 Mod Ifade2
Burda Sonuc mutlaka sayısal bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayıdır.
Aşagıda çeşitli örneklerle Mod operatörü açıklanmıştır.
Örnek :
Sonuc=34 Mod 9 'Sonuc = 7Deger = 60 Mod 2 'Deger = 0A=5.4,B= 57C=B Mod A 'C = 2D= 57 Mod 5.5 'D = 3E=90.5 Mod 6 'E = 0E=90.2 Mod 6 'E = 0E=90.7 Mod 6 'E = 1
& Operatörü :
Bu operatör kaynaştırma operatörüdür. String türü ifadelerle matematiksel
ifadeleri kaynaştırmada kullanılabilir. Genel yazım şekli aşagıdaki şekilideki
gibidir.
Sonuc=Ifade1 & Ifade2 Burda
Sonuc string veya variant türünde bir degerdir.
Ifade1 çeşitli işlemlerden oluşmuş bir ifade veya bir sayı veya bir metindir.
Ifade2 çeşitli işlemlerden oluşmuş bir ifade veya bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=34 & 9 'Sonuc = 349Deger = 60 & 2 'Deger = 602A=5.4,B= 57C=B&A 'C = 575.4D= 57 & 5.5 'D = 575.5E=90.5 & 6 'E = 90.56E=9.2 &6 'E = 9.26E=90.7 & 6.6 'Hata oluşurE="Hakan"&" Ayşe" 'E = "Hakan Ayşe"
Karşılaştırma Operatörleri:
Bu
operatörler ile verilen ifadeler arasında karşılaştırmalar yapılır. Genel
karşılaştırma operatörleri aşagıda verilmiştir.
= operatörü :
Bu operatör verilen iki ifadenin eşit olup olmadıgını anlamak için
kullanılır.Genel yazım şekli aşagıdaki şekildeki gibidir.
Sonuc=(Ifade11 = Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır
Örnek :
Sonuc=(100=345) 'Sonuc=FalseSonuc=(100=100) 'Sonuc=TrueA=12,B=45Sonuc=(A=B) 'Sonuc=FalseC=23,D=23Sonuc=(A=D) 'Sonuc=True
<> operatörü :
Bu operatör verilen iki ifadenin farklı olup olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki şekildeki gibidir.
Sonuc=(Ifade11 <>Ifade2)
Burada Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(100<>345) 'Sonuc=TrueSonuc=(100<>100) 'Sonuc=FalseA=12,B=45Sonuc=(A<>B) 'Sonuc=TrueC=23,D=23Sonuc=(A<>D) 'Sonuc=False
< operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden küçük
olup olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki şekildeki
gibidir.
Sonuc=(Ifade11 < Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(100<345) 'Sonuc=TrueSonuc=(100<100) 'Sonuc=FalseSonuc=(100<130) 'Sonuc=FalseA=12,B=45Sonuc=(A<B) 'Sonuc=TrueC=23,D=23Sonuc=(A<D) 'Sonuc=False
> operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük
olup olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki şekildeki
gibidir.
Sonuc=(Ifade11 > Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800>345) 'Sonuc=TrueSonuc=(100>100) 'Sonuc=FalseSonuc=(100>130) 'Sonuc=FalseA=90,B=45Sonuc=(A>B) 'Sonuc=TrueC=23,D=23Sonuc=(A>D) 'Sonuc=False
=> operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük veya eşit olup olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki şekildeki gibidir
Sonuac=(Ifade11 => Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800=>345) 'Sonuc=TrueSonuc=(100=>100) 'Sonuc=TrueSonuc=(100=>130) 'Sonuc=FalseA=90,B=45Sonuc=(A=>B) 'Sonuc=TrueC=23,D=23Sonuc=(A=>D) 'Sonuc=True
<= operatörü :
Bu operatör verilen birinci ifadenin ikinci ifadeden büyük
olup olmadıgını anlamak için kullanılır.Genel yazım şekli aşagıdaki şekildeki
gibidir.
Sonuc=(Ifade11 <= Ifade2)
Burda Sonuc Booean tipinde bir degerdir.
Ifade1 bir sayı veya bir metindir.
Ifade2 bir sayı veya bir metindir.
Aşagıda çeşitli örneklerle kaynaştırma operatörü açıklanmıştır.
Örnek :
Sonuc=(800<=345) 'Sonuc=FalseSonuc=(100<=100) 'Sonuc=TrueSonuc=(100<=130) 'Sonuc=TrueA=90,B=45Sonuc=(A<=B) 'Sonuc=FalseC=23,D=23Sonuc=(A<=D) 'Sonuc=True
And Operatörü:
Lojik iki ifadenin
karsilastirilmasi için kullanilir. Iki ifadenin'de dogru olmasi gereklidir.
Genel yazim sekli asagidaki gibidir ;
Sonuc=Kosul1 And Kosul2
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
And
operatörünün dogruluk tablosu asagidaki sekildeki gibidir.
|
İfade1 |
İfade2 |
Sonuc=İfade1 And İfade2 |
|
False |
False |
False |
|
False |
True |
False |
|
True |
False |
False |
|
True |
True |
True |
|
True |
Null |
Null |
|
Null |
True |
Null |
|
False |
Null |
False |
|
Null |
False |
False |
|
Null |
Null |
Null |
And
operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade1 |
İfade2 |
İfade1 And İfade2 |
|
0 |
0 |
0 |
|
0 |
1 |
0 |
|
1 |
0 |
0 |
|
1 |
1 |
1 |
Örnek :
Sonuc = (False And False ) 'Sonuc=FalseSonuc = (Null And False ) 'Sonuc=FalseA=True , B=TrueSonuc = (A And B ) ' Sonuc=TrueA=1 ,B=0Sonuc = (A And B ) ' Sonuc=0A=1 ,B=1Sonuc = (A And B ) ' Sonuc=1A=1,B=4Sonuc = (A And B ) ' Sonuc=0A=1,B=3Sonuc = (A And B ) ' Sonuc=1A=1,B=5Sonuc = (A And B ) ' Sonuc=1A=1,B=8Sonuc = (A And B ) ' Sonuc=0
Or Operatörleri:
Lojik iki ifadenin
karsilastirilmasi için kullanilir. Iki ifadeden yalnizca birinin dogru olmasi
yeterlidir. Genel yazim sekli asagidaki gibidir :
Sonuc=Kosul1 Or Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Or
operatörünün dogruluk tablosu asagidaki sekildeki gibidir ;
|
İfade1 |
İfade2 |
Sonuç=İfade Or İfade2 |
|
False |
False |
False |
|
False |
True |
True |
|
True |
False |
True |
|
True |
True |
True |
|
True |
Null |
True |
|
Null |
True |
True |
|
False |
Null |
Null |
|
Null |
False |
Null |
|
Null |
Null |
Null |
Or operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade1 |
İfade2 |
Sonuç=İfade Or İfade2 |
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
1 |
Örnek :
Sonuc = (False Or False ) ' Sonuc=FalseSonuc = (Null Or False ) 'Sonuc=NullA=True , B=TrueSonuc = (A Or B ) 'Sonuc=TrueA=1 ,B=0Sonuc = (A Or B ) 'Sonuc=1A=1 ,B=1Sonuc = (A Or B ) 'Sonuc=1A=1,B=4Sonuc = (A Or B ) 'Sonuc=5A=1,B=3Sonuc = (A Or B ) 'Sonuc=3A=1,B=5Sonuc = (A Or B ) 'Sonuc=5A=1,B=8Sonuc = (A Or B ) 'Sonuc=9A=10,B=8Sonuc = (A Or B ) 'Sonuc=10
Xor Operatörü:
Lojik
iki ifadenin karsilastirilmasi için kullanilir. Iki ifadeden yalnizca birinin
dogru olmasi gereklidir. Eger ikiside dogru olursa sonuc yanlis olur. Genel
yazim sekli asagidaki gibidir :
Sonuc=Kosul1 Xor Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhengi bir ifadedir.
Kosul2 herhengi bir ifadedir.
Xor
operatörünün dogruluk tablosu asagidaki sekildeki gibidir;
|
İfade1 |
İfade2 |
Sonuç=İfade Xor İfade2 |
|
False |
False |
False |
|
False |
True |
True |
|
True |
False |
True |
|
True |
True |
False |
Xor operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade1 |
İfade2 |
Sonuç=İfade Xor İfade2 |
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
Örnek :
Sonuc = (False Xor False ) ' Sonuc=FalseSonuc = (True Xor False ) 'Sonuc=TrueA=True , B=TrueSonuc = (A Xor B ) 'Sonuc=FalseA=1 ,B=0Sonuc = (A Xor B ) 'Sonuc=1A=1 ,B=1Sonuc = (A Xor B ) 'Sonuc=0A=1,B=4Sonuc = (A Xor B ) 'Sonuc=5A=1,B=3Sonuc = (A Xor B ) 'Sonuc=2A=1,B=5Sonuc = (A Xor B ) 'Sonuc=4A=1,B=8Sonuc = (A Xor B ) 'Sonuc=9A=10,B=8Sonuc = (A Xor B ) 'Sonuc=2
Eqv Operatörü:
Lojik
iki ifadenin karsilastirilmasi için kullanilir. Iki ifadenin ikisininde dogru
veya ikisininde yanlis olmasi durumunda dogru sonuc alir. Genel yazim sekli
asagidaki gibidir
Sonuc=Kosul1 Eqv Kosul2
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Eqv operatörünün dogruluk tablosu asagidaki sekildeki gibidir;
|
İfade1 |
İfade2 |
Sonuç=İfade Eqv İfade2 |
|
False |
False |
True |
|
False |
True |
False |
|
True |
False |
False |
|
True |
True |
True |
Eqv operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade1 |
İfade2 |
Sonuç=İfade Eqv İfade2 |
|
0 |
0 |
1 |
|
0 |
1 |
0 |
|
1 |
0 |
0 |
|
1 |
1 |
1 |
Örnek :
Sonuc = (False Eqv False ) ' Sonuc=TrueSonuc = (True Eqv False ) 'Sonuc=FalseA=True , B=TrueSonuc = (A Eqv B ) 'Sonuc=TrueA=1 ,B=0Sonuc = (A Eqv B ) 'Sonuc=0A=1 ,B=1Sonuc = (A Eqv B ) 'Sonuc=1A=1,B=4Sonuc = (A Eqv B ) 'Sonuc=-6A=1,B=3Sonuc = (A Eqv B ) 'Sonuc=-3A=1,B=5Sonuc = (A Eqv B ) 'Sonuc=-5A=1,B=8Sonuc = (A Eqv B ) 'Sonuc=-10A=10,B=8Sonuc = (A Eqv B ) 'Sonuc=-3
Lojik iki ifadenin
karsilastirilmasi için kullanilir. Birincinin degili veya ikincidir. Genel
yazim sekli asagidaki gibidir :
Sonuc=Kosul1
Imp Kosul2
Burada Sonuc hehangi bir sayisal tipde degiskendir.
Kosul1 herhangi bir ifadedir.
Kosul2 herhangi bir ifadedir.
Imp operatörünün dogruluk tablosu asagidaki sekildeki gibidir.
|
İfade1 |
İfade2 |
Sonuç=İfade Imp İfade2 |
|
False |
False |
True |
|
False |
True |
True |
|
True |
False |
False |
|
True |
True |
True |
|
True |
Null |
True |
|
Null |
True |
True |
|
False |
Null |
True |
|
Null |
False |
Null |
|
Null |
Null |
Null |
Imp operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade1 |
İfade2 |
Sonuç=İfade Imp İfade2 |
|
0 |
0 |
1 |
|
0 |
1 |
1 |
|
1 |
0 |
0 |
|
1 |
1 |
0 |
Örnek :
Sonuc = (False Imp False ) 'Sonuc=TrueSonuc = (Null Imp False ) 'Sonuc=TrueA=True , B=TrueSonuc = (A Imp B ) 'Sonuc=TrueA=1 ,B=0Sonuc = (A Imp B ) 'Sonuc=0A=1 ,B=1Sonuc = (A Imp B ) 'Sonuc=1A=1,B=4Sonuc = (A Imp B ) 'Sonuc=-2A=1,B=3Sonuc = (A Imp B ) 'Sonuc=-1A=1,B=5Sonuc = (A Imp B ) 'Sonuc=-1A=1,B=8Sonuc = (A Imp B ) 'Sonuc=-2A=10,B=8Sonuc = (A Imp B ) 'Sonuc=-3
Not Operatörü:
Lojik bir ifadenin degilinin alinmasi için kullanilir. Genel
yazim sekli asagidaki gibidir :
Sonuc=Not Kosul
Burada Sonuc herhangi bir sayisal tipde degiskendir.
Kosul herhangi bir ifadedir.
Not operatörünün dogruluk tablosu asagidaki sekildeki gibidir ;
|
İfade |
Not İfade |
|
True |
False |
|
False |
True |
Not operatörü ayni zamanda bitwise comparison islemide yapilabilir.
|
İfade |
Not İfade |
|
0 |
1 |
|
1 |
0 |
Örnek :
Sonuc=(Not True) 'Sonuc=FalseSonuc=(Not 1) 'Sonuc=FalseA=4Sonuc=(Not A) 'Sonuc=-5A=45Sonuc=(Not A) 'Sonuc=-46Sonuc=(Not 10) 'Sonuc=-11
Visual Basic’de Kontrol Komutları:
Kontrol komutları programcılar tarafından sıkca kullanılan
belirli ifadeleri kontrol etmek veya bazı şartların gerçekleşip
gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardır. Biz burada en
çok kullanılan komutların üzerinde duracagız.
If Kontrol Yapısı :
Genel olarak bu komut yapısı şu şekilde yazılır.
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Endif
Kullandıgımız her If
kontrolu için mutlaka bir Endif kullanmalıyız. Bu kontrol yapısının sonlandıgını
belirtir.
Örnek:
If ad="FATIH" Then
Maas=10000000
Endif
Eger koşul gerçekleşmemiş ise yapılması istenen bazı işlemler
varsa o zaman şu şekilde bir kontrol yapısını kullanabiliriz.
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Else
Kosul yanlış ise yapılması istenen işlemler.
Endif
Aynı anda bir kaç koşul için karşılaştırma yapılmak
isternirse;
If Kosul Then
Kosul dogru ise yapılması istenen işlemler.
Elseif Kosul1 Then
Kosul1 dogru ise yapılması istenen işlemler.
Elseif Kosul2 Then
Kosul2 dogru ise yapılması istenen işlemler.
Else
Bütün kosullar yanlış ise yapılması istenen işlemler.
Endif
yapısı kullanılır. Bu yapıda mutlaka Else blogunun bulunmasına gerek yoktur.
Burada eger Kosul dogru ise ilk Then’den sonraki satırlar çalıştırılarak Elseif
ifadesine kadar icra edilirler. Daha sonra Endif ifadesinden sonraki satır icra
edilir.Eger Kosul yanlış ise Kosul1 ifadesi kontrol edilir.Dogru ise buradaki
then den sonraki satırlar çalıştırılır. Yanlış ise Kosul2’ye bakılır. Eger bu
kosulda yanlıs ise Else ifadesinden sonraki satırlar çalıştırılır.
Örnek :
If Isım=”Ali” Then Maas=Maas * 1.2 Elseif Isım=”Murat” Then Maas=Maas * 1.4 Elseif Isım=”Kemal” Then Maas=Maas * 1.1Endif
Örnek :
If Bolen=0 ThenMsg.Text=” Bolen sayı sıfır olamaz."ElseSonuc= Sayı / BolenMsg.Text = SonucEndif
Örnek :
If name="Ali" AND no="1301920035"Not=4ElseIf name="Ahmet" AND no="1301940023" ThenNot=3ElseIf name="Hakan" AND no="1301930045" ThenNot=2ElseIf name="Hatice" AND no="1301940005" ThenNot=7Endif
Select
Case:
Bu kontrol
yapısında sadece bir degişkenin durum kontrolü yapılır.Kontrolü yapılacak
degişkenin genel olarak alabilecegi degerler belirli ise bu yapının
kullanılması If yapısına göre daha avantajlıdır. Yazılış biçimi genel olarak
aşagıdaki şekildeki gibidir
Select Case Degisken
Case Deger1
Degisken=Deger1 oldugu durumda yapılması istenen işlemler
Case Deger2
Degisken=Deger2 oldugu durumda yapılması istenen işlemler
Case Else
Degisken yukarıdaki degerler den hicbirine eşit degil ise yapılacak işlemler
End Select
Kullandıgımız her Select ifadesi için bir End Select kullanmalıyız.
Örnek :
Select Case ayCase ocakName="kış ayı"Case şubatName="Ayse Sinem"Case martName=”Hakan Kaya”Case nisanName=”Abdullah Kahyalı”Case mayısName="Hatice Uygun"End Select
Örnek :
Select Case AyCase 1Max_date=31Case 2Dim Artık as IntegerArtık = Yıl Mod 4If Artık=0 ThenMax_date=29ElseMax_date=28Endifcase 3Max_date=31Case 12Max_date=31Case ElseMesaj=”Error : Bir yılda 12 ay vardır.”End Select
Visual Basic’te Döngü Komutları:
Bu
komutlar belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana
kadar tekrarlamak amacı ile kullanılırlar. Bu komutlar aşagıda verilmiştir.
For ….. Next Döngüsü
Do While …. Loop Döngüsü
Do Until ……Loop Döngüsü
Do …… Loop While Döngüsü
Do …… Loop Until Döngüsü
Aşagıdada bu döngülerin nasıl kullanıldıkları açıklanmış ve
örneklerle pekiştirilmiştir.
For Next Döngüsü :
Bütün dillerde bulunan döngü yapısıdır. Genel yazım şekli
aşagıdaki şekildeki gibidir.
For sayac=başlangıç To bitiş Step artım
Arada işletilecek komutlar
Next sayac
Bu döngü sayac baslangıc degerınden bitiş degerine kadar
çalıştırılır. Sayaç başlangıc degerinde iken döngü içindeki komutlar işletilir.
Next ifadesine gelindiginde tekrar For satırına gelinir. Sayac degeri artım
kadar artırılır. Eger Sayac degeri Bitis degerini geçmiş ise Next adımından
sonraki adım işletilir. Burada step degerine pozitif veya nekatif bir deger
verşilebilir. Eger nekatif deger verilirse sayac her seferinde 1 azaltılır.Step
adımını vermezsek bu pozıtif 1 (+1) anlamındadır ve her adımda sayac bir
artırılacaktır.Biz içiçe For Next döngüleride kurabiliriz. Ancak burada şuda
dikkat edilmelidir. En son başlatılan For döngüsü ilk önce bitirilmelidir.
For sayac1=basla1 To son1
Komutlar
For sayac2=basla2 To son2
Komutlar
Next sayac2
Next sayac1
Biz buradaki sayıyı daha da artırabiliriz.
Aşagıdaki şekideki gibi bir kullanım hatalıdır
For sayac1=basla1 To son1
Komutlar
For sayac2=basla2 To son2
Komutlar
Next sayac1
Next sayac2 Burada For döngüsü işletilirken hata
oluşacaktır
Örnek :
Factöriyel=1For I=1 To SayiFactöriyel= Factöriyel * INext I
Bu örnekte girmiş oldugunuz pozitif sayının faktoriyeli hesaplanmaktadır.
Do While Döngüsü:
Bu dögünün
genel yazim sekli asagidaki sekildeki gibidir.
Do While Kosul
Komutlar
Loop
Burada önce Kosula bakilir. Eger kosul dogru ise
aradaki satirlar çalistirilir taki Loop satirina kadar. Loop satirinda tekrar
While satirina dönülür. Kosul tekrar kontrol edilir. Eger dogru ise ara
satirlar tekrar çalistirilir. Kosul yanlis ise Loop ‘tan sonraki ilk satirdan
program çalismaya devam eder. Içiçe Do While döngüleride kurabiliriz.
Do While Kosul1
….
Do While Kosul2
…
Komutlar
Loop
…..
Loop
Her Do While için mutlaka bir Loop yerlestirmeliyiz.
Örnek :