Angepinnt Grundlagen: Die ersten Schritte in Visual Basic

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von der_Kurt.

    Grundlagen: Die ersten Schritte in Visual Basic

    Die Programmiersprache Basic hat schon eine sehr lange und bewegte Geschichte. Egal ob als Betriebssystem bei den Home-Computern, als Beigabe zu MS-DOS (QBasic), eigenständige Programmiersprache unter Windows (Visual Basic 1 - 6, VB.Net bis VB2010), Linux oder Mac (Mono), als Makrosprache (VBA), oder als Scriptsprache in Windows (VBS).
    Den Nimbus einer Einsteigersprache wird Basic jedoch nicht leicht los. Zu Unrecht, wie sich vielerorts zeigt.
    Die Sprache wurde immer den Gegebenheiten der Zeit angepasst. Aus der mitleidig belächelten Einsteigersprache wurde ein mächtiges Werkzeug, mit dem man mittlerweile sogar Anwendungen für Mobilgeräte schreiben kann.

    Jeder, der sich an Visual Basic oder seinen Dialekten versuchen will, muss irgendwo beginnen. VB-Paradise.de ist der ideale Punkt für den Einstieg.

    Die folgenden Punkte sind eine schnelle Möglichkeit, kurz zu erfahren, was auf dich zukommt. Du solltest dir allerdings im Klaren sein, dass dieser Thread hier nur ein kleiner Schritt ist. Auch ist diese Aufstellung bei weitem nicht vollständig. Zu jedem Punkt lassen sich sicher mehrere A4-Seiten füllen, mit allen Varianten und Möglichkeiten. Vollständigkeit ist hier aber auch nicht beabsichtigt.

    Kennst du die Grundlagen, dann kommt damit auch die Routine, für die einzelnen Vorgänge die richtigen Schritte zu setzen.

    Viel Spaß mit VB!

    Inhalt dieser Übersicht:

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Eine der ersten Begegnungen wirst du mit Variablen haben. Variablen dienen dem Programm dazu, sich bestimmte Werte "merken" zu können.
    Damit sich dein Programm darauf einstellen kann, was in dieser Variable gespeichert werden soll, müssen wir zuvor Bescheid geben. Dieser Vorgang ist die Deklaration. Diese besteht aus der Bekanntgabe des Sichtbarkeitsbereichs der Variable, gefolgt vom Namen und der Benennung des Datentyps.
    In deinem Programm wird es auch mal notwendig werden, je nach Wert einer Variable eine andere Abzweigung zu nehmen. Der übliche Vorgang ist die If-Then-Verzweigung.
    Die Aussage hierzu lautet:Wenn Bedingung, Dann Vorgang, Sonst andererVorgang. (If/Then/Else)

    VB.NET-Quellcode

    1. If Monat = 4 Then
    2. 'Machwas
    3. ElseIf Monat = 12
    4. 'Weihnachtszeit, mach was anderes
    5. Else
    6. 'der Rest
    7. End If

    Falls du mehrere Möglichkeiten überprüfen willst, bietet sich hierfür die Select-Case-Abfrage an, in etwa vergleichbar mit: Wähle den zutreffenden Fall; Falls 1, dann Vorgang; Falls 2, dann anderer Vorgang.

    VB.NET-Quellcode

    1. Select Case Monat
    2. Case 4
    3. 'Mach was
    4. Case 12
    5. 'Weihnachtszeit, mach was anderes
    6. Case 7 to 9
    7. 'Ferien
    8. Case Else
    9. End Select

    MSDN: IF...THEN...ELSE
    MSDN: SELECT CASE

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „der_Kurt“ ()

    Bestimmte Vorgänge werden mehrmals durchlaufen. Hier stellt sich folgende Frage: Weiß ich zu Beginn, wie oft ich einen Vorgang durchlaufe, oder habe ich eine Ausstiegsbedingung, die überprüft wird?

    Die For-Next-Schleife gibt uns die Möglichkeit, mit Hilfe eines Zählers die Anweisungen mehrmals auszuführen. Die Zählervariable übernimmt bei jedem Durchlauf den neuen Wert.

    Falls ich noch keine Ahnung habe, wie oft ich einen Vorgang ausführen muss, bieten sich mehrere Möglichkeiten an.

    VB.NET-Quellcode

    1. While Bedingung
    2. ...Anweisungen
    3. End While 'oder 'Wend' bei älteren Dialekten

    Die Bedingung wird vor dem Einstieg geprüft, und wenn die Bedingung nicht zutrifft, wird diese Schleife gar nicht erst ausgeführt, bzw. wieder verlassen. (Kopfgesteuerte Schleife)

    Eine Endlosschleife wird unter C# gerne mit "While True" gemacht.

    Unter VB existiert seit Urzeiten die Do-Loop-Schleife.
    Diese ist die flexibelste Möglichkeit, eine Schleife zu programmieren. Hier kannst du sowohl eine kopfgesteuerte Schleife, als auch eine fussgesteuerte Schleife machen. Wenn man die Bedingungen weglässt, wird auch hier eine Endlosschleife erzeugt.

    VB.NET-Quellcode

    1. Do [While Bedingung |Until Bedingung]
    2. Anweisung
    3. [Exit Do]
    4. Anweisung
    5. Loop [While Bedingung |Until Bedingung]

    (Eine Schleife mit Kopf- und Fußbedingung ist nicht erlaubt.)

    MSDN: Schleifenstruktur

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Werden Vorgänge öfters wiederholt, dann lagert man diese üblicherweise in Prozeduren aus. Diese werden angegeben durch das Schlüsselwort 'Sub', gefolgt vom Namen der Prozedur. Wenn du einen Wert an dieses Unterprogramm übergeben willst, kannst du das auch machen.

    VB.NET-Quellcode

    1. Sub NameMeinerProzedur (EinParameter as Datentyp)
    2. 'Anweisung
    3. End 'NameMeinerProzedur


    Mit 'Exit Sub' oder 'Return' kann so ein Unterprogramm unmittelbar verlassen werden.

    Es kann des Öfteren auch notwendig werden, zu erfahren, ob das Unterprogramm korrekt ausgeführt wurde. Oder ich rufe die Sub auf, um einen bestimmten Wert berechnet zu bekommen. In diesem Fall kannst du eine Funktion (Function) einsetzen. Diese unterscheiden sich durch Subs dadurch, dass man an 'NameMeinerProzedur' einen Wert zurückgeben kann. Der Datentyp, der zurückgegeben wird, wird in der Deklaration angegeben.

    VB.NET-Quellcode

    1. Function NameMeinerFunktion () As Boolean
    2. 'Anweisungen
    3. NameMeinerFunktion = True
    4. End Function


    Auch hier kann mit der Return-Anweisung die Anweisung sofort verlassen werden, wobei bei einer Funktion sinnvollerweise ein Wert mitgegeben werden sollte:

    VB.NET-Quellcode

    1. Function NameMeinerFunktion () As Boolean
    2. 'Anweisungen
    3. Return True
    4. 'Die folgenden Anweisungen werden NICHT mehr ausgeführt
    5. End Function

    MSDN: Prozeduren in Visual Basic

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Ein grundlegendes Element in VB sind Ereignisse (Events). Mit einem Event kann ich mein Programm informieren, dass etwas eingetreten ist. Ob mein Programm dann darauf reagiert, ist eine andere Sache. Zuerst bringe ich meinem Programm bei, dass es dieses Ereignis gibt.

    VB.NET-Quellcode

    1. Event EsIstWasPassiert

    Mein Programm weiß jetzt, dass es ein Ereignis namens 'EsIstWasPassiert' gibt. Im Programmablauf kann ich diesen Event mittels der RaiseEvent-Methode auslösen.

    VB.NET-Quellcode

    1. RaiseEvent EsIstWasPassiert

    Wie erwähnt: Ob mein Programm darauf reagiert, hängt davon ab, ob meine Events an Prozeduren gekoppelt sind. Dann werden aus 'normalen' Prozeduren Ereignisprozeduren.

    MSDN: Ereignisse

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Ereignisprozeduren

    Eine Prozedur, wie schon weiter oben ausgeführt, ist eine logische Zusammenfassung mehrerer Aktionen. Wird eine Prozedur durch einen Event aufgerufen, dann handelt es sich um eine Ereignisprozedur.

    Vielleicht sind dir diese Ereignisprozeduren durch die Steuerelemente, die du in deinem Programm verwendest, bekannt. Beispielsweise wird im Designer bei Doppelklick auf einen Button eine Ereignisprozedur für das Standard-Event erstellt. Das Event: Button1.Click. Die Ereignisprozedur kann einen beliebigen Namen haben, hier im Beispiel wird automatisch Button1_Click vergeben. Durch das Schlüsselwort 'Handles' wird angegeben, auf welches Ereignis diese Prozedur reagiert. Außerdem werden durch die beiden Parameter 'sender' und 'e' weiterführende Informationen mitgegeben (-->Eventhandler).

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, _
    2. e As System.EventArgs) Handles Button1.Click
    3. End Sub


    Wenn du deine eigenen Prozeduren mit Events verknüpfen willst, dann hilft dir die AddHandler-Methode. (Bzw. RemoveHandler, um diese wieder zu entfernen.)