Visual Basic *Teil3* Do Loop (Schleifen)

11/26/2008 17:37 Cael.#1
Do...Loop-Schleifen:

Viele Operationen müssen eine unbestimmte Anzahl wiederholt werden. Nehmen wir einmal an, wir wollen solange Zufallszahlen in eine Liste füllen, bis die erste Zahl duch 100 teilbar ist (MOD-Operator ergibt 0); hier wäre eine For...Next-Schleife unsinning!

Quote:
Do
ZZahl% = Rnd * 1000
If (ZZahl% Mod 100) = 0 Then Exit Do
lstZahlen.AddItem ZZahl%
Loop
In diesem Fall ist die Abbruchbedingung durch eine If-Abfrage realisiert. Viel öfter trifft man aber auf eine Art integriertes Abbruchkriterium:

Quote:
Do
ZZahl% = Rnd * 1000
lstZahlen.AddItem ZZahl%
Loop Until (ZZahl% Mod 100) = 0
Der Unterschied hier findet sich darin, dass die durch 100 teilbare Zahl noch mit in die Liste aufgenommen wird und erst danach die Schleife beendet wird.

Quote:
Do While (Rnd * 200) < 100
lstZahlen.AddItem "Hallo Welt"
Loop
Die Abbruchbedingung kann genauso gut nach dem 'Do' stehen; dann wird sie vor dem Eintreten in die Schleife überprüft und die Schleife eventuell übersprungen.
'While' bedeutet 'solange wie'; 'Until' meint 'bis'.

Vorsicht vor Endlosschleifen! Folgende Konstruktion würde ewig laufen (bis zum Stoppen des VB-Projekts):

Quote:
Do While (1 < 2)
lstZahlen.AddItem "Hallo Welt"
Loop
Zusammenfassung:
+ Wenn man eine vorher unbekannte Anzahl von Operationen wiederholen will, verwendet man die Do...Loop-Schleife
+ Durch den Befehl 'Exit Do' kann man eine Do...Loop-Schleife verlassen
+ Durch While oder Until Angaben, kann man ein Abbruchkriterium definieren

Graaz
knollo14
11/27/2008 20:02 DamageBreaker#2
du machst super tuts muss ich zugeben^^