Donguler
Donguler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Visual Basic’de kullanılan donguler aşagıda verilmiştir.



For ….. Next Dongusu

Do Until ……Loop Dongusu

Do While …. Loop Dongusu

Do …… Loop Until Dongusu

Do …… Loop While Dongusu

For Next
Bu dongu belirli bir işlemi, belirli bir sayıada calıştırmamıza olanak sağlar. Genel yazılım şekli aşagıdaki gibidir.



For Sayac=BaşlangıcDeğeri To BitişDeğeri Step ArtımDeğeri

Bildiri

Next Sayac



Bu dongude Sayac değişkenine BaşlangıcDeğeri verilir ve Sayac BitişDeğerini gecene kadar calıştırılır. Dongu her calışında Sayac değeri ArtımDeğeri kadar artırılır. Eğer ArtımDeğeri belirtilmezse Sayac her seferde 1 artırılır.

Ornek

Liste kutusuna 1’den 10 kadar olan rakamları eklemek icin aşağıdaki dongu kurulur.



Dim Sayac As Integer

For Sayac = 1 To 10

List1.AddItem Sayac

Next Sayac

Ornek

Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek icin aşağıdaki dongu kurulur.



Dim Sayac As Integer

For Sayac = 2 To 20 Step 2

List1.AddItem Sayac

Next Sayac



For..Next dongusunden cıkmak icin Exit For bildirisi kullanılır

Ornek

Dim Sayac As Integer

For Sayac = 2 To 20 Step 2

List1.AddItem Sayac

If Sayac=10 Then

Exit For

End If

Next Sayac

Do Until
For...Next dogusunun gelişmişidir. Bir koşul yanlış olduğu surece devam eder. Genel yazım şekli aşağıdaki gibidir.



Do Until Koşul

Bildiri

Loop

Ornek

Program calıştığı anda kullanıcıya adını soran ve yanlış isim girildikce soruyu tekrarlayan bir kod orneği. 3.denemeden sonra sonra Do..until dongusunden cıkılıyor.



Private Sub Form_Load()

Dim Ad As String

Dim Tekrar As Integer

Tekrar = 0

Ad = InputBox("Adınızı Giriniz?")

Do Until Ad = "Uğur"

Tekrar = Tekrar + 1

If Tekrar = 3 Then

MsgBox "Uzgunum. Deneme hakkınız dolmuştur."

Exit Do

End If

MsgBox "Yanlış isim girdiniz. Lutfen tekrar deneyin."

Ad = InputBox("Adınızı Giriniz?")

Loop

End Sub

Do While
Do Until dongusunun tersidir. Bir koşul doğru olduğu surece devam eder. Genel yazım şekli aşağıdaki gibidir.



Do While Koşul

Bildiri

Loop

Ornek
Kullanıcıdan bir isim yazmasını isteyen bir kod orneği. Ad değişkeni “son” olmadığı surece devam ediyor. Her defasında font boyutu 1 punto artırılıyor.



Private Sub Form_Load()

Dim Ad As String

Dim Boyut As Integer

Boyut = 12

Tekrar = 0

Ad = InputBox("Lutfen adınızı yazınız. Cıkmak icin son yazın")

Do While Ad "son"

Form1.FontSize = Boyut

Print Ad

Boyut = Boyut + 1

If Boyut = 20 Then

Exit Do

End If

Ad = InputBox("Lutfen adınızı yazınız. Cıkmak icin son yazın")

Loop

End Sub
__________________