Programlama dillerinde döngüler genelde aynı
işi birden fazla yaptırmak amacıyla işlemi istenilen miktarda
tekrarlamak için kullanılır.Ya da belli aralıklarda birşey
arattırmak için veya belli aralığa birşeyler eklemek için aynı
işlemi tekrar tekrar yapmaktan kurtulmak için. Döngüler yapı
olarak ikiye ayrılır. For....Next Ve Do...Loop biz bu derste Do...Loop
yapısını inceleyeceğiz.VB de Do...Loop sözcüklerini içeren dört
ayrı tür mevcuttur.1)Do While
... Loop Yapısı
Bu yapıda önce koşul kontrol edilir.Kontrol
doğruysa programın akışı döngünün içine girer.Değilse döngüye 1
kez bile girilmeden program işleyişine devam edecektir. Şunu da
unutmamk gerek, döngü while koşulu sağlandığı sürece işlevine
devam edecektir. Yapısı;
Do While Koşul
Komutlar
Loop
Örnek: Standart.exe olarak açtığınız
bir forma bir buton yerleştirin.Butonu çift tıklayın Private Sub
Command1.click ile başlayan paragrafi yazın. Sonra tekrar project
penceresine geçin ve formun herhangi bir yerine çift tıklayın
Private Sub Form Load ile başlayan paragrafı Yazın. Sonra F5 e
basarak çalıştırın. Project penceresinden çift tıklatmamın
sebebi,ilgili kısma ait private sub... end sub metinlerini vb nin
otomatik yazması sebebiyledir.

Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",
vbOKCancel, "DoWhile-Loop Yapısı incelemesi")
Do While a = vbOK
a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",
vbOKCancel, "DoWhile-Loop Yapısı incelemesi")
Loop
End Sub
2)Do Until ... Loop
Bu yapıda da önce koşul kontrol edilir ancak
while..loop yapısının tersine burada koşul doğru olmadığı sürece
programın akışı döngünün içine girer,doğru olduğunda döngünün
dışına çıkar.Yada koşul zaten doğruysa hiç döngünün içine girmez.
Yapısı;
Do Until Koşul
Komutlar
Loop
Örnek: Yukarıda While..Loop
Yapısındaki yaptığımız programla aynı işe yarıyan programı until..loop
ile yapacağız. Anlaşılması açısından daha yararlı olacağını
düşündüm.Yapmanız gereken while ı silip until,vbok u silip
vbcancel yapmanız.
Private Sub Command1_Click()
End
End Sub
Private Sub Form_Load()
a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",
vbOKCancel, "DoWhile-Loop Yapısı incelemesi")
Do Until a = vbCancel
a = MsgBox("Devam için evet,bitirmek için hayırı tıkla",
vbOKCancel, "DoWhile-Loop Yapısı incelemesi")
Loop
End Sub
3)Do ... Loop While
İşte geldik koşulun altta kontrol eildiği
yapıya.Bundan sonra anlatacağım dördüncü yapıda da böyle. Koşul
altta kontrol ediliyor. Tahmin edeceğiniz gibi birinci yapıda
anlattığım Do While ... Loop yapısından tek farkı while ın en
üstte değil de en altta olmasıdır. Hal böyle olunca koşul sağlansa
da sağlanmasa da döngü yukarıdan aşağıya en az bir kez akacaktır,
sonra aşağıdaki while ile belirtilen koşul sağlandığında döngü
yukarı çıkıp bir kez daha dönecektir,ta ki koşul sağlanmayıncaya
dek.Sağlanmayınca programın akışı döngüden çıkar ve alt satırdan
devam eder. Yani birinci ve ikinci yapıdan farkı,hiçbirşey olmasa
bile döngü,koşul en aşağıda kontrol edildiği için en az bir kez
icra eder.Yapısı;
Do
Komutlar
Loop While Koşul
4)Do ... Loop Until
Bu da bir üstte anlattığım yapı gibi koşulu
aşağıda kontrol ediyor. Yani koşul kontrol edilmesi için program
döngünün içinde enaz bir kere akıyor. Sizin de tahmin ettiğiniz
gibi ikinci yapıda anlattığım Do Until...Loop yapısından tek farkı
az önce bahsettiğim gibi koşulun aşağıda kotrol edilmesi.Yapısı;
Do
Komutlar
Loop Until Koşul
|