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
__________________
ders - 3 (donguler)
Programlama0 Mesaj
●23 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- ders - 3 (donguler)