Değişkenlere
İsim Verme Kuralları Visual
Basic’de daha etkin bir programlama yapabilmek için kullanılan veri tiplerini
ve veri yapılarını iyi bir şekilde bilmeliyiz. Burada önemli olan nerede
hangi veri tipini kullanacak oluşumuzdur. Veri tiplerini anlatmadan önce
kullanacağımız değişkenleri nasıl isimlendireceğimizi görelim. Değişkenleri
isimlendirirken daha sonra bakdığınızda akılda kalabilecek ve anlamlı
bir isim veriniz Adi
, soyadı , yası , Maas98 , Doğum_Yeri , SANAT_DALI Yukarıda
geçerli değişken isimlerine örnek verilmiştir 2ADI
, ad soyan , Mal+Bildirimi Burada
da geçersiz değişken isimlerine örnekler verilmiştir. Visual
Basic’de Değişken Tanımlama Değişken
tanımlarken Visual BASIC’te DİE bildiri deyimini kullanabiliriz. Değişkenin
tanımlanması hafızada ayrılacak hafıza miktarının belirli olmasını sağlar.
Eğer değişkenlerin tipini belirtmeden bir kullanım yaparsak bu değişkenlerin
Varyant tipinde olduğu kabul edilir.Bu da hafızada gereksiz yer kaybına
sebep olur.Eğer tanımlanan bütün değişkenlerin tiplerinin belli olmasını
isterseniz kod penceresinin General,Declarations kısmına Def
bildiri deyimi projenin general,declarations bölümünde tanımlanmalıdır Ö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üs oldugunuz gibi 5 adet degisken tanimlanmaktadir.Ad degiskeni string
tipinde bir degiskendir.Maas degiskeni Currency tipinde bir degiskendir.D_tarihi
degiskeni Date tipinde bir degiskendir.Adres degiskeni string tipinde
bir degiskendir.Sira degiskeni integer tipinde bir degiskendir. Örnek
: DefInt
A-C DefStr
S DefVar
K DefDate
D DefSng
V Bu örnekte Def
deyimi dim deyiminden farklidir. Def ile sadece bir harf yada harf araligi
belirtilebilir.Burada belirtilen harf ile baslayan bütün degiskenler artik
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 degisken string türünde ve maas degiskeni ise Currency
tipindedir. Veri
Tipleri Integer
: Visual Basic’te tam sayi degiskenleri tanimlamak için kullanilir.
Hafizada 2 byte yer kaplarlar. Alabilecegi deger araligi -32768 ile +32767
arasindadir.DefInt bildiri deyimi ile tanimlanabilirler. Ayrica bir degiskenin
sonunda % karakteri bulunuyorsa bu degisken integer tipindedir. Örnek
: Private
Sub Form_Load() Dim
Maas As Integer DefInt
A-C Oran%
= 100 A_sayi
= 100 B_sayi
= Oran*A_sayi C_sayi
= B_sayi + A_sayi - 1000 Maas=
32767 End
Sub Eger
burada tanimlanan degiskenlere daha büyük sayilar atanirsa overflow olusur.
Örnek
: Private
Sub Form_Load() DefLng
A-B Bölüm=50000
cikan&=600000 Kalan&
= (cikan / Bölüm ) * 10000 End
Sub Single
: Tam sayi olmayan küsüratli sayilar için kullanabilecegimiz bir veri
tipidir. Kayan-noktali sayi olarak isimlendirilir. Single tipindeki veriler
bellekte 4 byte yer kaplarlar. Nekatif sayilar için alabilecegi aralik
-3.402823E38 ile -1.401298E-45 ,pozitif sayilar için alabilecegi aralik
1.401298E-45 ile 3.402823E38 arasindadir.Single tipinde veri tanimlamak
için DefSgn bildirimi veya degisken sonuna ! karakteri konur. 7 haneye
kadar hassastir.Daha sonrasi yuvarlatilir. Private
Sub Form_Load() DefSgn
A-B Bölüm=50000
Cikan!=600000 End
Sub Double
: Visual Basic’te kullanilabilecek en büyük sayisal degerlerin veri
tipidir. Hafizada 8 byte yer kaplarlar. 16 haneye kadar hassastirlar.
Maximum alabilecegi degerler pozitif sayilar için 4.94065645841247E-324
ile 1.797693134862232E308 , nekatif sayilar için de -1.797693134862232E308
ile -4.94065645841247E-324 arasindadir. DefDbl bildirimi veya # sembölü
ile double tipinde degiskenler tanimlanabilir Private
Sub Form_Load() DefDbl
A-K Dari=50000
Bugday=600000 Arpa=340.56 End
Sub Currency
: Sayisal tipdeki veriler için tanimlanmis özel bir veri
tipidir.Hafizada 8 byte yer kaplarlar. 4 hane ondalik kismi olmak üzere
toplam 19 haneden olusur.(nokta hariç) Alabilecegi maximum degerler -922,337,203,685,477.5808
ile 922,337,203,685,477.5807 arasindadir. @ sembolü veya DefCur bildirimi
ile Currency tipinde degisken’ler tanimlanabilirler. Örnek
: Private
Sub Form_Load() Dim
Maas As Currency , Borc As Currency Maas
= 500000000 Borc
= 68000000 Zayi@
= 340000.56 End
Sub Date
: Tarih türündeki bilgileri kullanmak için olusturulmus bir veri tipidir.
Hafizada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralik 9999 arasindaki tarihleri
kullanabilirsiniz. DefDate bildirisi ile tarih türünde degiskenler tanimlayabiliriz. Private
Sub Form_Load() Dim
Dogum_tarihi As Date , Evlenme_Tarihi As Date Dogum_tarihi
=#Dec,9,1977# Evlenme_Tarihi=#May,15,1998# End
Sub Boolean
: Mantiksal veri tipleri için kullanilir. Iki seçenekten birisini
alabilir.Bunlar True veya False degerleridir. Bellekte 2 byte yer isgal
ederler.Boolean tipindeki bir degiskeni tanimlamak için DefBool sözcügü
kullanilir. Private
Sub Form_Load() Dim
Durum As Boolean , Duyum As Boolean Durum
= True Duyum
= False End
Sub Byte
: O ile 255 arasindaki tamsayilari ifade etmek için kullanilabilecek
veri tipidir.DefByte deyimi ile byte tipinde degiskenler tanimlanabilir. Private
Sub Form_Load() Dim
Durum As Byte , Duyum As Byte Durum
=23 Duyum
= 143 End
Sub String
: Metin türü bilgileri saklamak için kullanilabilecek veri türüdür.
16 bitlik versiyonda 0 ile 65538 arasinda , 32 bitlik versiyonda ise 0
ile 2,000,000,000 arasinda karakter alabilir. String türünde degisken
tanimlamak için Defstr veya $ sembolü kullanilir. Örnek
: Private
Sub Form_Load() Dim
Adi As String , Soyadi As String Adi
="Kemal" Soyadi
= "Tas" No$="1323970067" End
Sub Variant
: Bu tipte tanimlanmis bir degiskene herhangi bir tip’te veri yüklenebilir.Yani
ne tür bir veri girecegimizi bilmedigimiz degiskenleri Variant tipinde
tanimlamaliyiz. Bu tür degiskenler hafizada 16 byte tan fazla yer kaplarlar.
DefVar bildiri sözcügü ile Variant türünde degiskenler tanimliyabiliriz.
Variant
türünde degiskenler tanimlamak fazla kullanisli degildir.Çünki hafizada
fazla yer kaplarlar. Örnek
: Private
Sub Form_Load() Dim
Ad As Variant , Maas As Variant , Tel As Variant Dim
Dogum_tarihi As Variant Ad="Aydin
Kale" Maas=200000 Tel="500-45-00" Dogum_tarihi=#Apr,3,1970# End Sub Veri
Yapilari Const
: Const
sehir="Istanbul" Const
Ulke="Turkey" Const
posta_kodu=34650 Const
tek_kod=212 Type
- End Type Yapisi : Type
Ogrenci Ad
As String *10 Soyad
As String *12 Not
As Byte Kredi
As Integer End
Type 'Ogrenci
veri tipi toplam hafizada 25 byte yer kaplamaktadir. Bu veri tipini kullanmak
için 'Ogrenci tipinde degiskenler tanimlamak gerekmektedir. Private
Sub Form_Load() Dim
A As Ogrenci Dim
B As Ogrenci 'Bu
degiskenlere bilgi atamak asagidaki sekildeki gibidir. A.Ad="Ali"
A.Soyad
="Armer" End
Sub String
türü degiskenlere sabit bir uzunlukta yer ayirmak istersek asagidaki sekilde
bir tanimlama yapmaliyiz. Diziler
Ayni tür
bilgileri bellekte tutmak için kullanabilecegimiz listelere dizi adi verilir.
Dizi kullamanin avantaji ayni tür bilgiler bir listede tutularak daha
hizli islem yapilabilmesi saglanmis olacaktir.Visual Basic'de dizi su
sekildedir 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 tanimlanmaktadir. ad dizisi string
türünde bilgileri tutacak ve no dizisi ise integer türündeki bilgileri
saklayacaktir. Görmüs olgunuz gibi dizilere bilgi atama sekli Statik
Diziler Bu tip
dizilerde kullanilacak yer sayisi sabittir. Bu tip diziler sadece tanimlandiklari
modül içersinde kullanilabilirler. Statik dizi su sekilde tanimlanabilir 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 kisminda a() dizisi tanimlaniyor.Bu
dzi tanimlanmadan önce dizi indislerinin 1 den itibaren basliyacagini
belirten Option Base1 satiri koda dahil edilmistir. Form1 yüklendiginde
bu dizinin ilk elemaninna 10 sayisi ikinci elemanina 20 sayisi ataniyor.
Eger kullanici Command1 isimli butona tiklarsa dizinin ilk ce ikinci elemanlari
toplanarak Form üzerinde Text1 adli nesnenin Text özelligine ataniyor.
Yani TextBox'in bu sayilarin toplamini göstermesi saglaniyor. Bu tip
dizilerde kullanilacak yer sayisinda bir sinirlama yoktur. Bu tip diziler
ilk basta sagidaki sekildeki gibi bir tanimlamaya ihtiyaç duyarlar. 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)
= "Ayse" Text1.Text
= s(1) + s(2) End
Sub Bu dizi
tanimlanmadan önce dizi indislerinin 1 den itibaren basliyacagini belirten
Option Base1 satiri koda dahil edilmistir. Form1 yüklendiginde s adli
bir dinamik dizi tanimlanmaktadir. Kullanici Command1 isimli butuna tikladiginda
s dizisinin boyutu belirtilerek yeniden tanimlanmistir. Bu dizinin ilk
elemaninna "Selam " degeri ikinci elemanina "Ayse"
degeri ataniyor. Dizinin ilk ve ikinci elemanlari toplanarak Form üzerinde
Text1 adli nesnenin Text özelligine ataniyor. Yani TextBox'in bu degerlerin
toplamini göstermesi saglaniyor. 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 yukaridaki örnekten tek farkli yan olarak bir Command butonun
arkasina yazilmis kod bulunuyor. Eger kullanici Command1 adli butondan
sonra bu butona tiklarsa ne olacak ona bakalim. Command2 butonuna tiklanildiginda
s() dizisi tekrardan boyutu 5 olrak tanimlaniyor. s() dizisine daha önce
atamis bütün degerler siliniyor. Yani s() dizisi bir nevi bosaltiliyor
ve yeniden boyutlandiriliyor. Eger s() dizisine daha önce atanmis degerler
korunmak istenirse asagidaki sekildeki gibi bir tanimlama yapilmak zorundadir.
Tip
DONUSleri Visual
Basic'de kullandigimiz sayisal degiskenleri diger veri tiplerine d??t?ebiliriz.
Bu islemi yapan fonksiyonlara tip dONUS fonksiyonlari adi verilir. Tip
donus fonksiyonlari asagida verilmistir :
oRnek1:
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 oRnek2
: A=10
, B=5 , C=0 check
= CBytel(A < B) 'check=0 check
= CByte(A > B) 'check=1 check
= CByte(A = C) 'check=0 oRnek3
: 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 oRnek4
: 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 Aritmetiksel
Operatorler : + , - ,
* , / , \ , ^ ,Mod , & 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="
Kayaci" Dim
Name As String Name=Ad+Soyad
'Name="Ebru Kayaci" Operatörler
: Matematik’de
kullanilan çikartma opratörüdür. Birinci ifadede verilen degerden ikinci
ifadeyi çikarir. 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ü
: Sonuc=34
* 9 'Sonuc = 306 Deger
= 87 * 12 'Deger = 1044 A=5,B=
56 C=A
* B 'C = 280 / Operatörü
: Sonuc=34
/ 9 'Sonuc = 3.777778 Deger
= 60 / 12 'Deger = 5 A=5,B=
56 C=B
/ A 'C = 11.2 ^ Operatörü
: Sonuc=34
^ 9 'Sonuc = 6.071699276646e+13 Deger
= 60 ^ 2 'Deger = 3600 A=5,B=
5 C=B
^ A 'C = 3125 Mod
Operatörü : Sonuc=34
Mod 9 'Sonuc = 7 Deger
= 60 Mod 2 'Deger = 0 A=5.4,B=
57 C=B
Mod A 'C = 2 D=
57 Mod 5.5 'D = 3 E=90.5
Mod 6 'E = 0 E=90.2
Mod 6 'E = 0 E=90.7
Mod 6 'E = 1 &
Operatörü : Sonuc=34
& 9 'Sonuc = 349 Deger
= 60 & 2 'Deger = 602 A=5.4,B=
57 C=B&A
'C = 575.4 D=
57 & 5.5 'D = 575.5 E=90.5
& 6 'E = 90.56 E=9.2
&6 'E = 9.26 E=90.7
& 6.6 'Hata olusur E="Hakan"&" Ayse" 'E = "Hakan Ayse" Karsilastirma
Operatörleri : Bu operatörler
ile verilen ifadeler arasinda karsilastirmalar yapilir. Genel karsilastirma
operatörleri asagida verilmistir. 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ü : 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ü : 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ü : 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ü : 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ü : 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
And
Operatörü : Lojik iki
ifadenin karsilastirilmasi için kullanilir. Iki ifadenin'de dogru olmasi
gereklidir. Genel yazim sekli asagidaki gibidir ; Ifade1
Ifade2 Sonuc=Ifade1 And Ifade2 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. Ifade1
Ifade2 Ifade1 And Ifade2 0 0 0 0 1 0 1 0 0 1 1 1
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 Or
Operatörü : Lojik iki
ifadenin karsilastirilmasi için kullanilir. Iki ifadeden yalnizca birinin
dogru olmasi yeterlidir. Genel yazim sekli asagidaki gibidir : Ifade1
Ifade2 Sonuç=Ifade Or Ifade2 False False False 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 : Ifade1
Ifade2 Sonuç=Ifade Xor Ifade2 False False
False False True
True True False
True True True
False
Ifade1
Ifade2 Sonuç=Ifade Xor Ifade2 0 0 0 0 1 1 1 0 1 1 1 0
Sonuc
= (False Xor False ) ' Sonuc=False Sonuc
= (True Xor False ) 'Sonuc=True A=True
, B=True Sonuc
= (A Xor B ) 'Sonuc=False A=1
,B=0 Sonuc
= (A Xor B ) 'Sonuc=1 A=1
,B=1 Sonuc
= (A Xor B ) 'Sonuc=0 A=1,B=4 Sonuc
= (A Xor B ) 'Sonuc=5 A=1,B=3 Sonuc
= (A Xor B ) 'Sonuc=2 A=1,B=5 Sonuc
= (A Xor B ) 'Sonuc=4 A=1,B=8 Sonuc
= (A Xor B ) 'Sonuc=9 A=10,B=8 Sonuc = (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 Ifade1
Ifade2 Sonuç=Ifade Eqv Ifade2 False False
True False True
False True False
False True True
True
Ifade1
Ifade2 Sonuç=Ifade Eqv Ifade2 0 0 1 0 1 0 1 0 0 1 1 1
Sonuc
= (False Eqv False ) ' Sonuc=True Sonuc
= (True Eqv False ) 'Sonuc=False A=True
, B=True Sonuc
= (A Eqv B ) 'Sonuc=True A=1
,B=0 Sonuc
= (A Eqv B ) 'Sonuc=0 A=1
,B=1 Sonuc
= (A Eqv B ) 'Sonuc=1 A=1,B=4 Sonuc
= (A Eqv B ) 'Sonuc=-6 A=1,B=3 Sonuc
= (A Eqv B ) 'Sonuc=-3 A=1,B=5 Sonuc
= (A Eqv B ) 'Sonuc=-5 A=1,B=8 Sonuc
= (A Eqv B ) 'Sonuc=-10 A=10,B=8 Sonuc = (A Eqv B ) 'Sonuc=-3 Imp
Operatörü : Lojik iki
ifadenin karsilastirilmasi için kullanilir. Birincinin degili veya ikincidir.
Genel yazim sekli asagidaki gibidir : Ifade1
Ifade2 Sonuç=Ifade Imp Ifade2 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
Ifade1
Ifade2 Sonuç=Ifade Imp Ifade2 0 0 1 0 1 1 1 0 0 1 1 0
Sonuc
= (False Imp False ) 'Sonuc=True Sonuc
= (Null Imp False ) 'Sonuc=True A=True
, B=True Sonuc
= (A Imp B ) 'Sonuc=True A=1
,B=0 Sonuc
= (A Imp B ) 'Sonuc=0 A=1
,B=1 Sonuc
= (A Imp B ) 'Sonuc=1 A=1,B=4 Sonuc
= (A Imp B ) 'Sonuc=-2 A=1,B=3 Sonuc
= (A Imp B ) 'Sonuc=-1 A=1,B=5 Sonuc
= (A Imp B ) 'Sonuc=-1 A=1,B=8 Sonuc
= (A Imp B ) 'Sonuc=-2 A=10,B=8 Sonuc = (A Imp B ) 'Sonuc=-3 Not
Operatörü : Lojik bir
ifadenin degilinin alinmasi için kullanilir. Genel yazim sekli asagidaki
gibidir : Ifade Not
Ifade True False
False True
Ifade Not
Ifade 0 1 1 0
Sonuc=(Not
True) 'Sonuc=False Sonuc=(Not
1) 'Sonuc=False A=4 Sonuc=(Not
A) 'Sonuc=-5 A=45 Sonuc=(Not
A) 'Sonuc=-46 Sonuc=(Not 10) 'Sonuc=-11 Visual
Basic'de Kontrol Komutlari Kontrol
komutlari programcilar tarafindan sikca kullanilan belirli ifadeleri kontrol
etmek veya bazi sartlarin gerçeklesip gerçeklesmedigini kontrol etmek
amaciyla kullanilan komutlardir. Biz burada en çok kullanilan komutlarin
üzerinde duracagiz. If Kontrol Yapisi :
Kullandigimiz
her If kontrolu için mutlaka bir Endif kullanmaliyiz. Bu kontrol yapisinin
sonlandigini belirtir. If
ad="FATIH" Then Maas=10000000 Eger kosul
gerçeklesmemis ise yapilmasi istenen bazi islemler varsa o zaman su sekilde
bir kontrol yapisini kullanabiliriz. If
Isim="Ali" Then Elseif
Isim="Murat" Then Maas=Maas
* 1.4 Elseif
Isim="Kemal" Then Maas=Maas
* 1.1 Endif Örnek
: If
Bolen=0 Then Msg.Text="
Bolen sayi sifir olamaz." Else Sonuc=
Sayi / Bolen Msg.Text
= Sonuc Endif Ornek
: If
name="Ali" AND no="1301920035" Not=4 ElseIf
name="Ahmet" AND no="1301940023" Then Not=3 ElseIf
name="Hakan" AND no="1301930045" Then Not=2 ElseIf
name="Hatice" AND no="1301940005" Then Not=7 Endif Select
Case: Bu kontrol
yapisinda sadece bir degiskenin durum kontrolü yailir.Kontrolü yapilacak
degiskenin genel olarak alabilecegi degerler belirli ise bu yapinin kukllanilmasi
If yapisina göre daha avantajlidir. Yazilis biçimi genel olarak asagidaki
sekildeki gibidir Select
Case No Case
1304 Name="Murat
Tuna" Case
1306 Name="Ayse
Sinem" Case
1307 Name="Hakan
Kaya" Case
1312 Name="Abdullah
Kahyali" Case
1324 Name="Hatice
Uygun" End
Select Örnek
: Select
Case Ay Case
1 Max_date=31 Case
2 Dim
Artik as Integer Artik
= Yil Mod 4 If
Artik=0 Then Max_date=29 Else Max_date=28 Endif Case
3 Max_date=31 Case
12 Max_date=31 Case
Else Mesaj="Error
: Bir yilda 12 ay vardir." End Select
Visual
Basic'te Döngü Komutlari Bu komutlar
belirli islemleri belirli sayida veya herhangi bir sart saglanana kadar
tekrarlamak amaci ile kullanilirlar. Bu komutlar asagida verilmistir. Factöriyel=1 For
I=1 To Sayi Factöriyel=
Factöriyel * I Next
I Bu örnekte
girmis oldugunuz pozitif sayinin faktoriyeli hesaplanmaktadir. Bu dögünün
genel yazim sekli asagidaki sekildeki gibidir. …. Fact=1
I=2 Do
While I<=Sayi Fact=Fact
* I I=I+1 Loop Buradaki
örnekte te faktöriyel hesabini Do While döngüsü ile yapiyoruz. Burada
sayac olarak I degeri kullaniliyor. Eger faktöriyeli hesaplanacak deger
2 den kücükse (1 veya 0 ise) döngü içine girilmemektedir. Döngü içinde
sayac artimini kendimiz veriyoruz. Sayac sayi degerine esit iken döngü
son kez çalitiriliyor. Fact
=1 I=1 Do Fact=Fact
*I I=I+1 Loop
While I<=Sayi Faktöriyel
hesapini yapan bir baska örnek verilmistir. Bu döngünün
genel yazim sekli asagidaki sekildeki gibidir. Fact=1
I=Sayi Do
Until I<=1 Fact=Fact
* I I=I-1 Loop Buradaki
örnekte'de faktöriyel hesabini Do Until döngüsü ile yapiyoruz. Burada
sayac olarak I degeri kullaniliyor. Eger faktöriyeli hesaplanacak deger
2 den küçükse (1 veya 0 ise) döngü içine girilmemektedir.Döngü içinde
sayac azaltimini kendimiz veriyoruz. Sayac 2 degerine esit iken döngü
son kez çalistiriliyor Fact
=1 I=1 Do Fact=Fact
*I I=I+1 Loop While I>Sayi
|