VİSUAL BASIC DERS
NOTLARI
Degişken tanımlarken Visual Basic’te Dim bildiri deyimini
kullanabiliriz. Değişkenin tanımlanması hafızada ayrılacak hafıza miktarının belirli
olmasını sağlar. Eger degişkenlerin tipini belirtmeden bir kullanım yaparsak bu
değişkenlerin Variant tipinde olduğu kabul edilir.Bu da hafızada gereksiz yer
kaybına sebep olur.Eger tanımlanan bütün degişkenlerin tiplerinin belli
olmasını isterseniz kod penceresinin General,Declarations kısmına
Option Explicit yazılır.
Ayrıca değişken tanımlarken kullanılabilecek bir başka
bildiri deyimide Def- bildiri deyimidir.Bu bildiri deyimi daha genel
tanımlamalar yapmak için kullanılır..Def bildiri deyimleri aşagıda verilmiştir.
Def bildiri deyimi projenin general,declarations
bölümünde tanımlanmalıdır
DefBool : Boolean tipinde degişken tanımlamak için kullanırız.
DefByte : Byte tipinde degişken tanımlamak için kullanırız.
DefInt : Integer tipinde degişken tanımlamak için kullanırız.
DefLng : Long tipinde degişken tanımlamak için kullanırız.
DefCur : Currency tipinde degişken tanımlamak için kullanırız.
DefSng : Single tipinde degişken tanımlamak için kullanırız.
DefDbl : Double tipinde degişken tanımlamak için kullanırız.
DefDate : Date tipinde degişken tanımlamak için kullanırız.
DefStr : String tipinde degişken tanımlamak için kullanırız.
DefVar : Variant tipinde degişken tanımlamak için kullanırız.
Örnek :
Private Sub Form_Load()
Dim Ad As String
Dim Maas As Currency
Dim D_tarihi As Date
Dim Adres As String
Dim Sira As Integer
End Sub
Burada görmüş olduğunuz gibi 5 adet degişken
tanımlanmaktadır.Ad değişkeni string tipinde bir değişkendir.Maaş değişkeni
Currency tipinde bir değişkendir.D_tarihi değişkeni Date tipinde bir
değişkendir.Adres değişkeni string tipinde bir değişkendir.Sira değişkeni
integer tipinde bir değişkendir.
Aşagıdaki satırları formun general,declarations bölümüne
yazalım.
Örnek :
DefInt A-C
DefStr S
DefVar K
DefDate D
DefSng V
Bu örnekte
A , B, C ile başlayan bütün karakterler Integer türünde olmak zorundadır.
D ile başlayan bütün karakterler Date türünde olmak zorundadır.
V ile başlayan bütün karakterler Single türünde olmak zorundadır.
K ile başlayan bütün karakterler Variant türünde olmak zorundadır.
S ile başlayan bütün karakterler String türünde olmak zorundadır.
Def deyimi dim deyiminden farklıdır. Def ile sadece bir
harf yada harf aralıgı belirtilebilir.Burada belirtilen harf ile başlayan bütün
değişkenler artık o bildiri deyimindeki tipdedir
Örnek :
Private Sub Form_Load()
Dim ad As String , soyad As String
Dim maas As Currency
End Sub
Bu örnektede ad ve soyad
isimli iki degişken string türünde ve maas degişkeni ise Currency tipindedir.
VERİ TİPLERİ
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 Integer
DefInt A-C
Oran% = 100
A_sayı = 100
B_sayı = Oran*A_sayı
C_sayı = B_sayı + A_sayı – 1000
Maas= 32767
End 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-B
Bölüm=50000
cıkan&=600000
Kalan& = (cıkan / Bölüm ) * 10000
End 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-B
Bölüm=50000
Cıkan!=600000
End 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-K
Darı=50000
Bugday=600000
Arpa=340.56
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=34650
Const 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 *10
Soyad As String *12
Not As Byte
Kredi As Integer
End 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
DİZİLER
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 String
Dim no(2) As Integer
ad(0) = "ali"
ad(1) = "ahmet"
ad(2) = "ebru"
no(0) = 133
no(1) = 56
no(2) = 67
End 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 belirtigimiz degere kadardır. Yani bizim bu dizilere atayabilecegim veri
sayısı diziyi tanımlarken belirtdigimiz indis degerinden 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.
STATİK DİZİLER
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 1
Dim a(5) As Integer
Private Sub Command1_Click()
Text1.Text = a(1) + a(2)
End Sub
Private Sub Form_Load()
a(1) = 10
a(2) = 20
End 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.
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 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(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 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "selam"
s(2) = "fatih"
Text1.Text = s(1) + s(2)
End Sub
Private Sub Command2_Click()
ReDim s(5) As String
s(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
TİP DÖNÜŞÜMLERİ
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=0
check = CBool(A < B) 'check=False
check = CBool(A > B) 'check=True
check = CBool(A = C) 'check=True
check = CBool(D) 'check=False
check = CBool(B) 'check=True
Örnek2 :
A=10 , B=5 , C=0
check = CBytel(A < B) 'check=0
check = CByte(A > B) 'check=1
check = CByte(A = C) 'check=0
Örnek3 :
A=1 , B=2 , C=36000 , D=36001
check = CDate(A) 'check=12/31/1899
check = CDate(B) 'check=1/1/1900
check = CDate(C) 'check=7/24/98
check = CDate(D) 'check=7/26/98
Örnek4 :
A=2.4 , B=2.5 , C=2.6 , D=3.5
check = CInt(AB) 'check=2
check = CInt(B) 'check=2
check = CInt(C) 'check=3
check = CInt(D) 'check=4
2. OPERATÖRLER
, PROGRAM KONTROL VE DÖNGÜ KOMUTLARI
+ , - , * , / , \ , ^
,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=58
Sonuc=1378+56.78+435.908 'Sonuc=1870.688
A=89,B=3456
Deger=A+B ' Deger=3545
Ad="Ebru"
Soyad=” Kayacı”
Dim Name As String
Name=Ad+Soyad 'Name=”Ebru Kayacı”
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=False
Sonuc=(100=100) 'Sonuc=True
A=12,B=45
Sonuc=(A=B) 'Sonuc=False
C=23,D=23
Sonuc=(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=True
Sonuc=(100<>100) 'Sonuc=False
A=12,B=45
Sonuc=(A<>B) 'Sonuc=True
C=23,D=23
Sonuc=(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=True
Sonuc=(100<100) 'Sonuc=False
Sonuc=(100<130) 'Sonuc=False
A=12,B=45
Sonuc=(A<B) 'Sonuc=True
C=23,D=23
Sonuc=(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=True
Sonuc=(100>100) 'Sonuc=False
Sonuc=(100>130) 'Sonuc=False
A=90,B=45
Sonuc=(A>B) 'Sonuc=True
C=23,D=23
Sonuc=(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=True
Sonuc=(100=>100) 'Sonuc=True
Sonuc=(100=>130) 'Sonuc=False
A=90,B=45
Sonuc=(A=>B) 'Sonuc=True
C=23,D=23
Sonuc=(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=False
Sonuc=(100<=100) 'Sonuc=True
Sonuc=(100<=130) 'Sonuc=True
A=90,B=45
Sonuc=(A<=B) 'Sonuc=False
C=23,D=23
Sonuc=(A<=D) 'Sonuc=True
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.
|
|
İfade2 |
İfade1 And İfade2 |
|
0 |
0 |
0 |
|
0 |
1 |
0 |
|
1 |
0 |
0 |
|
1 |
1 |
1 |
Örnek :
Sonuc = (False And False ) 'Sonuc=False
Sonuc = (Null And False ) 'Sonuc=False
A=True , B=True
Sonuc = (A And B ) ' Sonuc=True
A=1 ,B=0
Sonuc = (A And B ) ' Sonuc=0
A=1 ,B=1
Sonuc = (A And B ) ' Sonuc=1
A=1,B=4
Sonuc = (A And B ) ' Sonuc=0
A=1,B=3
Sonuc = (A And B ) ' Sonuc=1
A=1,B=5
Sonuc = (A And B ) ' Sonuc=1
A=1,B=8
Sonuc = (A And B ) ' Sonuc=0
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