Visual Basic'te İf yapısı ve Döngüler

'Adige

Administrator
26 Eki 2012
9,457
782
30
root@adige~#
- İ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 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.​
 

Endloss16

Üye
12 Mar 2023
92
35
Sadece Ölüler Görür
- İ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:




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;




- 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;




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 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:




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:




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;








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.


Elinize Sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.