- İF END İF BLOĞU -
If
End If bloğu sayesinde mantıksal sınamalar yaparak, şarta bağlı olarak istediğimiz işlemi yaptırtabiliriz. Bu yapının Türkçesi şudur: "eğer şöyle ise şunu yap; öyle değilse şunu yap". Örnekle açıklamak gerekirse:
If ortalama > 70 then
'şart doğru ise çalıştırılacak kodlar
Else
'şart doğru değilse çalıştırılacak kodlar
End If
Yukarıdaki örnekte; mantıksal şart ortalama değişkeninin 70'ten büyük olmasıdır (ortalama > 70). Eğer ortalama adındaki değişken 70'ten büyükse, yani şart doğru ise If'ten sonraki blok; değilse, Else'den sonraki blok çalıştırılacaktır. Yani her If bloğunda ya If'ten sonraki, ya da Else'den sonraki blok çalıştırılır.
Bu ifadeler sayesinde eğer ortalama 70'ten büyükse geçti bilgisini, değilse kaldı bilgisini kullanıcıya bildirebiliriz. Veya şu durumlarda If
End If bloğunu kullanabiliriz:
1 - Kullanıcı girişi yapılmışsa sayfayı görüntüle, değilse uyarı göster.
2 - Daha önce oy verilmişse oyu geçersiz say, değilse verilen cevabı bir arttır.
3 - Yorum yazılmışsa kaç tane olduğunu göster, değilse yorum yazılmadı mesajını göster gibi.
If
End If bloğunda Else ifadesi 'değilse' anlamı taşır ve kullanılmak zorunda değildir. Bu durumda sadece şart doğru ise çalıştırılacak kodlar yazılır. Örneğin;
If dogumTarihi > 2000 then
'şart doğru ise çalıştırılacak kodlar
End If
- SELECT CASE BLOĞU -
Select Case bloğu, If
End If bloğuna benzer. Farklı yönü ise şudur: If bloğu ile normal şartlarda 2 durumu kontrol edebiliriz. Yani bir şart ya geçerlidir, ya da geçersizdir. Select Case bloğunda ise çok daha fazla durumu kontrol edebiliriz. Örnekle açıklamak gerekirse;
Select meslek
Case "öğretmen"
'meslek="öğretmen" ise yapılacak işlemler
Case "doktor"
'meslek="doktor" ise yapılacak işlemler
Case "mühendis", "mimar"
'meslek="mühendis" veya meslek="mimar" ise yapılacak işlemler
Case Else
'yukarıdakilerden hiçbiri değilse yapılacak işlemler
End Select
Bu örneği If ile yapmaya çalışsaydık pek pratik olmayacaktı. Çünkü meslek değişkeninin alabileceği çok fazla değer var. Bu yüzden çok fazla değer alınabilecek durumlarda Select
Case yapısı kullanılır.
- DÖNGÜLER -
Döngüler Visual Basic'te bir kod parçasının pek çok defa çalıştırılmasını sağlar. Yani biz bir kod parçası yazarız ve bunu bir döngü komutu arasına yerleştiririz. Bu kod parçası döngüye bağlı olarak çok defa çalıştırılabilir. Visual Basic'te kullanılan temel döngüler şunlardır:
For
Next Döngüsü
For Each Döngüsü
Do While Loop Döngüsü
Repeat Until Döngüsü
For Each Döngüsü
Do While Loop Döngüsü
Repeat Until Döngüsü
- FOR NEXT DÖNGÜSÜ -
Bu döngüde kod parçasının belli bir sayıda çalıştırılmasını sağlayabiliriz. Genelde i olarak tanımlanan bir döngü değişkeni kullanılır. i değişkeninin bir başlangıç değeri, bir bitiş değeri, bir de artış miktarı vardır. i değişkeni bitiş değerine ulaşana kadar döngü tekrar eder. Örneğin:
Dim i As integer
For i = 1 to 5 Step 1 'i 1 den başlayarak 5'e kadar birer birer artacak
Response.Write("ASP.NET<br/>")
Next
Yukarıdaki örneğe göre döngü değişkenimiz olan i değişkeninin alacağı ilk değer 1. i değişkeninin alacağı her bir değer için For
Next arasındaki kodlar çalıştırılacaktır. i 5'e ulaşana kadar kodlar çalıştırılacak ve ekran çıktısı: ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET olacaktır. Yani ekrana 5 kez ASP.NET yazdırılacaktır.
For
Next döngüsünde döngü değişkeninin değeri de kullanılabilir:
Dim i As Integer
For i = 1 to 5 Step 1 'i 1 den başlayarak 5'e kadar birer birer artacak
Response.Write(i)
Next
Bu durumda da döngü değişkenimiz olan i değişkeninin alacağı ilk değer 1. i değişkeninin alacağı her bir değer için For
Next arasındaki kodlar çalıştırılacaktır. i 5'e ulaşana kadar kodlar çalıştırılacak ve her seferinde ekrana i değişkeninin değeri yazdırılacaktır. Buna göre ekran çıktısı: 1 2 3 4 5 olacaktır. Diğer konuları öğrenince içinde for next geçen örnekler yapacağız.
- FOR EACH DÖNGÜSÜ -
For
Each döngüsü For
Next döngüsüne benzer bir yapı gösterir. Farkı ise For
Next döngüsünde döngünün kaç defa döneceğini biz belirlerken, For
Each döngüsünde ise döngünün kaç defa döneceği genellikle döngüyle beraber kullanılan bir dizi değişkendeki eleman sayısı kadardır. Yani For
Each döngüsü genel olarak dizilerle beraber kullanılır. Bir örnekle açıklamak gerekirse;
Dim isimler As String = {"Ahmet", "Ayşe", "Fatma", "Zehra"}
For Each eleman As String In isimler
Response.Write(eleman & "<br/>")
Next
Bu örneğe göre isimler adında 4 elemanlı bir dizi değişken oluşturulmuş ve aynı satırda diziye değerler atanmıştır. Daha sonra ise For
Each döngüsü kullanılarak isimler adındaki dizinin herbir elemanı ekrana yazdırılmıştır.
Anlıyoruz ki for each bloğu arasında kalan kodlar dizideki eleman sayısı kadar çalıştırılır. Zaten yukarıdaki örneğin Türkçe'si şu şekilde: isimler dizisindeki her bir eleman için aşağıdaki komutları yerine getir.
Burada önemli bir başka nokta ise eleman adındaki döngü değişkenidir. Burada For
Each satırında oluşturduğumuz eleman değişkenini döngü içinde kullandık. eleman değişkeni döngü içerisinde dizininin değerlerini alır. Yani ilk seferde elemanın değeri "Ahmet", daha sonra da sırasıyla "Ayşe", "Fatma" ve "Zehra" olur. Herbir seferinde de bu değerler ekrana yazdırılıyor.