Besuche die neue Inventor FAQ!

Hier findest du die neue Inventor FAQ

Programmieren in Visual Basic – Eine Einführung – Teil 3

vb_prog.gifLos geht’s mit Teil 3 unseres kleinen “Programmierkurses” für VB. Solltest du neu eingestiegen sein, schau dir vorher Teil 1 und 2 an.
Programmieren in Visual Basic – Eine Einführung – Teil 1
Programmieren in Visual Basic – Eine Einführung – Teil 2

Beim letzten mal haben wir ein Konsolenprogramm erstellt, das so aussah:

Module Module1Sub Main()
'mein erstes VB.NET Programm
Dim x As Integer
x = 5
x = x * x
Console.WriteLine("Wert = {0}", x)
Console.ReadLine()
End Sub

End Module

Das Programm enthielt eine Variable “x” der der Wert “5″ zugewiesen wurde. Dann würde die Variable mit sich selbst multipliziert und anschließend ausgegeben.

Kommentieren, Kommentieren, Kommentieren

Wie du dir sicherlich vorstellen kannst, liest sich der Quelltext eines Programmes für die meisten nicht wie ein Asterix-Heftchen, d.h. nicht immer weisst du, welche Stelle in dem Programm was macht. Damit du und andere später noch durchblicken, setzen Kommentare in den Quelltext. Das machst du, indem du ein Hochkomma vor den Text stellst also z.B.

'Hier berechnen ich den Umfang der Erde anhand der Mondphasen

Lieber setzt du einen paar Kommentare zuviel, als zu wenige!

Quelltext und dessen Darstellung

Normalerweise interpretiert VB den Zeilenumbruch als Anweisungsende. Willst du mehrere Anweisungen in eine Zeile schreiben, trenne Sie mit einem Doppelpunkt:

Dim x As Integer : x = 5 : x = x * x

Wird eine Anweisungszeile sehr lange, kannst du Sie auch in mehrere Zeilen umbrechen und zwar, indem du einen Unterstrich ans Zeilenende setzt. Allerdings darfst du den nicht mitten in einer Zeichenfolge setzen:

Console.WriteLine _
("Wert = {0}", _
x)

Variablendeklaration

“Hey, das Thema hatten wir doch schon” denkst du jetzt vielleicht. Stimmt, aber noch nicht ausführlich genug. Wie wir wissen ist das “x” oben in dem Programm eine Variable. Jetzt stell dir vor, du schreibst ein CAD-Programm. da brauchst du vielleicht tausenden von Variablen. Willst du die alle x,y,z,a,b,c,d,e,f,g,… nennen? Spätestens nach der 15ten Definition weisst du nicht mehr, für was x,y,z,a,b,c,d usw. stand. Am besten man vergibt “sprechenden Namen” (so wie bei den Parametern in Inventor eben. Also anstatt d3 laenge und anstatt d47 eben bohrungsabstand_x). Machs also so wie in Inventor und du weisst, was was ist. Zudem dürfen Variablen nicht mit Zahlen anfangen, nur aus Zahlen, Buchstaben und dem Unterstrich bestehen usw. Also einfach vernüftige Namen vergeben. Zudem ist es üblich, einen Prefix an den Variablennamen zu stellen, der den Variablentyp definiert. Unser “x” sollte also richtigerweise so deklariert werden:

Dim intZahl As Integer

Zudem kann sofort der Wert der Varible definiert werden, also z.B.

Dim intZahl As Integer = 5

Zu diesem Thema gibt es von Microsoft eine Empfehlung. Lass dich aber nicht mehr verwirren davon: http://support.microsoft.com/kb/110264 (Abschnitt: Namenskonventionen für Variablen und Routinen)

Übrigens: Dezimalzahlen schreibt man gleich wie in ACAD auch, nämlich mit einem “Punkt”.

Dim sngKommazahl As Single = 12.433

(sng = Datentyp “Single”).

Globale und lokale Variabledefinitionen

So, jetzt wird es noch eine Ecke abgefahrener: Wir können Variablen im Modul definieren oder in einer Prozedur. Definieren wir eine Variable auf Modulebene haben wir 2 Möglichkeiten: Wir definieren Sie mit dem Schlüsselwort “Private” so gilt sie in dem Modul und allen Prozeduren. In diesem Bsp. kann die Variable “strName” in alle allen Prozeduren innerhalb des Moduls “Module1″ genutzt werden also in “Main” und “nocheine”.

Module Module1
Private strName As String
  Sub Main()
  strName = "Juergen"
 End Sub
 Sub nocheine()
  strName = "Seppel"
 End Sub
End Module

Wird die Variable als Public definiert,  kann Sie sogar in allen Modulen genutzt werden.

Wenn wir innerhalb einer Prozedur eine Variable definieren, dann kann diese mittels “Dim” und “Static” definiert werden. Dim definiert eine Variable (das haben wir ja schon gemacht). Wird die Prozedur verlassen wird der Variblenwert gelöscht. “Static” definiert ebenfalls eine Variable, nur das der Variablenwert nach dem Verlassen der Prozedur gespeichert bleibt. (Puuh, ist das heute viel Theorie…).

Mein zweites Programm

Jetzt wird es Zeit für ein bischen Praxis! Wir wollen unser Programm ein wenig ausbauen. Momentan heisst die Variable noch “x” und das ist, wie wir gelernt haben, nicht so toll. Also benennen wir diese um und deklarieren Sie als Datentyp “Single” dann kann sie auch Dezimalwerte annehmen.

Dim sngZahl As Single

(sng = Angabe was für ein Var.Typ es ist. Das ist kein Muss, macht es aber anscheinend leicher, den Quelltext zu lesen)
Zudem wollen wir einen Wert eingeben und nicht mehr nur, das die Zahl 5 mit sich selbst multipliziert wird. Dazu nutzen wir eine “Funktion”, die wir schon kennen, nämlich “Console.ReadLine”. Den Wert, der dieser Befehl abfragt weisen wir der Varible “sngZahl” zu. Das passiert mittels

sngZahl = Console.ReadLine

Nun lassen wir den Kollege Computer wieder rechnen und schon haben wir einen “Taschenrechner für Arme” der so aussieht:

 Module Module1Sub Main()
'mein zweites VB.NET Programm
'Variablendeklaration
Dim sngZahl As Single
'auslesen der Befehlszeile und Übergabe des Wertes an die Variable
sngZahl = Console.ReadLine
'Variable mit sich selbst multiplizieren
sngZahl = sngZahl * sngZahl
'Ergebnis ausgeben
Console.WriteLine("Wert = {0}", sngZahl)
'DOS Fenster offen lassen, bis der Benutzer die Eingabetaste drückt
Console.ReadLine()
'Fertig!
End Sub
End Module
 

vb3_1.gif

Heute hatten wir viel Theorie, aber auch das muss leider sein. Ich hoffe, ihr seit allen noch dabei. Bis zum nächsten mal!

Bisherige Artikel zum Thema “Programmieren in Visual Basic”:
Programmieren in Visual Basic – Eine Einführung – Teil 1
Programmieren in Visual Basic – Eine Einführung – Teil 2

10 Kommentare zu Programmieren in Visual Basic – Eine Einführung – Teil 3

Einen Kommentar schreiben

 

 

 

Diese HTML-Tags können verwendet werden

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>