Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Visual Basic Grundkurs

Schleifen und Schleifentypen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Um identische oder ähnliche Aufgaben mehrfach abzuarbeiten, nutzt VB.NET verschiedene Schleifentypen. Außerdem lernen Sie die Anweisungen Thread.sleep() und Application.DoEvents() kennen.
06:24

Transkript

Wenn '=' oder ähnliche Anweisungen mehrfach wiederholt werden müssen, macht es wenig Sinn, diese mehrfach im Quellcode zu notieren. Stattdessen verwendet man für Wiederholungen oder Iterationen sogenannte Schleifen. Und eine Programmiersprache wie vb.net stellt verschiedene Schleifentypen zur Verfügung. Ich habe hier ein ganz einfaches kleines Programm geschrieben, mit drei Schaltflächen und es soll eine Variable genommen und hochgezählt werden. Das heißt, wenn der Anwender hier auf diesen Button klickt, wird diese Zahl hochgezählt und hier angezeigt. Und auch hier. Und auch hier. Es sollte auffallen, dass unterschiedliche Zahlen hier hochgezählt werden, bzw. unterschiedliche Werte auftauchen. Und das liegt auch daran, dass wir hier mit unterschiedlichen Formen von Schleifen arbeiten. Ich habe hier drei Schleifen-Typen im Angebot. Und zwar einmal eine 'Do … Loop While', eine 'Do … Until Loop' und eine 'For … Next'. Wenn man geschickt programmiert, braucht man sowieso immer nur eine Schleife. Aber grundsätzlich haben die meisten Programmiersprachen Verschiedene und diese lassen sich auch unterscheiden in der Art. Es gibt sogenannte kopfgesteuerte Schleifen und fußgesteuerte Schleifen. Das zu verdeutlichen, braucht man sich nur die Syntax angucken. Wir sehen hier bei der 'Do … Loop While', dass die Schleife, die von hier bis dort läuft, die Überprüfung einer Bedingung erst am Ende macht. Im Fußbereich, deswegen nennt man das eine fußgesteuerte oder auch annehmende Schleife. Weil, egal was für ein Wert hier am Anfang der Variable A gesetzt wird, die Schleife auf jeden Fall mal durchgelaufen wird. Ich möchte das kurz demonstrieren. Ich setze hier mal eine 10, klick hier drauf und zumindest einmal ist es durchgelaufen, wir haben den Wert 11. Das will mal kurz erklären, wie das zustande kommt. Die Variable A die hier eingeführt wird, im Bereich des Formulars, des sogenannten Deklarationsbereichs, die wird hier beim Klick auf die Schaltfläche mit einem Wert versehen, initialisiert und zwar dem Wert 10. Danach kommt die Do-Anweisung. Die macht eigentlich gar nichts, außer den Beginn einer Schleife kennzeichnen. Dann wird die Variable A um den Wert 1 erhöht: 'a = a + 1'. Bitte, das ist keine mathematische Gleichung, nicht '10 = 11' steht da. Sondern auf der rechten Seite wird der Wert der Variable, also 10, genommen + 1, dann wird das zusammengezählt, dann kommt der Wert 11 raus und der wird im nächsten Schritt der Variable A zugewiesen. Ob jetzt hier wieder A steht oder auch eine andere Variable, spielt keine Rolle. Diese Form der ‘‘Selbstzuweisung‘‘ ist in eigentlich jedem Programm zu finden. Dann wird der Wert der 'Variable A' der Eigenschaft 'Text' des Labels zugewiesen. Und diese beiden Anweisungen hier, die fallen jetzt gerade nicht vom Himmel. Die machen folgendes. Mit diesem 'Sleep' unterbreche ich den Durchlauf der Schleife, damit Sie was sehen. Sonst würden Sie überhaupt nicht sehen, dass diese Schleife hier hochgezählt wird. Man redet hier von einem sogenannten Multithreading. Das führt viel zu weit. Aber Sie sollten sich diese Anweisung auf jeden Fall merken, denn immer dann, wenn Sie eine Zeitverzögerung brauchen, z.B. bei Schleifen, dann schreibt man 'System.Threading.Thread.Sleep()' und dann gibt man hier eine Anzahl in Millisekunden an, wie lange so eine Unterbrechung dauern soll. Normalerweise sollte eine Schleife möglichst schnell abgearbeitet werden. In diesem Fall, wie gesagt, weil Sie was sehen sollen, unterbreche ich die Abarbeitung, bzw. ich verzögere sie. Und diese Anweisung 'Application.DoEvents()' sorgt dafür, dass auch die Oberfläche immer wieder neu bezeichnet wird. Dass Sie auch sehen, dass das Label einen neuen Wert zugewiesen bekommt. Beide Anweisungen an sich sind nicht Bestandteil und auch nicht im Fokus von diesem Video, aber wenn sie am Rande sozusagen mit erwähnt werden, da haben Sie schon mal einen weiteren Profit. Das, wie gesagt, ist jetzt hier eine fußgesteuerte Schleife und auch wenn die Bedingung die ich jetzt hier am Ende überprüfe nicht erfüllt ist, ist sie zumindest einmal durchgelaufen. Jetzt starte ich wieder mit dem Wert 0. Und Sie sehen: 1-2-3, 1-2-3 werden dann hier entsprechend die Werte von A angezeigt. Die zweite Schleifenform ist eine kopfgesteuerte Schleife 'Do Until a 3'. Wenn ich hier mit dem Wert 10 reinkomme … passiert gar nichts. Der Grund ist, es wird hier bereits überprüft, ob der Wert von a größer ist als 3. Wenn ja, wird die gesamte Schleife übersprungen. Nur solange der Wert von a kleiner ist, als das was ich hier in der Bedingung prüfe, nur so lange wird hier diese Schleife durchlaufen. Na ja, ich komme mit 'a = 0' rein, dann erhöhe ich den Wert von a um 1 und zeige damit den Wert 1 an. Jetzt kommt wieder dieses Schleifen und Zeichnen der Oberfläche und dann geht’s weiter. Und entsprechend lauf ich hier bis zum Wert 4. Warum 4 und nicht 3? Das liegt daran, wie die Bedingung formuliert ist. Weil ich hier ' 3' habe. Würde ich hier ' 2' machen, dann würde ich nur bis 3 laufen. Überlegen Sie mal, wie die Bedingung wirklich formuliert ist. Die dritte Variante einer Schleife ist die For-Schleife. Die For-Schleife initialisiert eine Schleifenvariable, das mach ich hier mit 'a = 0' und gibt mit 'To' direkt an Endwert an und 'Next' ist das Ende der Schleife. Und dann kommt die nächste Wiederholung. Sie sehen, dass wir hier kein 'A = A + 1' haben. Zeigt der Klick auf diesen Button dann immer nur den Wert 0 an? Offensichtlich nicht. Denn dieser Schleifenkopf sorgt dafür, mit dieser To-Anweisung, dass die Schleife immer wieder den Wert der Variable erhöht. Wenn wir ein identisches Verhalten haben wollen, wie bei der anderen Schleife, was den Beginn angeht, dann würde ich hier auf 1 gehen und würde auch hier den Wert auf 2 machen und jetzt laufen alle Schleifen quasi gleich. Sie haben also in diesem Video Schleifen kennen gelernt, die immer dann immens wichtig sind, wenn Sie gleiche oder ähnliche Dinge wiederholen wollen. Und so nebenher haben Sie auch die Sleep-Anweisungen und die Application.DoEvents() gleich noch unter die Lupe bekommen.

Visual Basic Grundkurs

Entdecken Sie, wie eine der bekanntesten und verbreitetsten Programmiersprachen unter .NET funktioniert.

3 Std. 43 min (51 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:03.11.2014

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!