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 Studio Grundkurs 2: Die Programmiersprachen

Erkundung des Robo-Speech-Visual-Basic-Programms

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wie man die Robo-Speech-Anwendung in Visual Basic .NET erstellt, ist das Thema dieses Videos. Der Trainer berichtet über die Grundlagen der Sprache und demonstriert deren Syntax und Eigenschaften.

Transkript

Wie man die RoboSpeech-Anwendungen in Visual Basic.NET erstellt, wird Thema dieses Videos sein. Den entsprechenden Quelltext finden wir im RoboSpeech VB-Projekt, das ich hier bereits geöffnet habe. Die beiden Dateien, in denen sich der Quelltext befindet, Logorenderer.vb und die Module1.vb sehen wir rechts im Projektmappen-Explorer. Die Grundlagen, über die wir hier sprechen wollen, stehen in den enthaltenen Quellcode-Kommentaren . Ich möchte darüber reden, wie wir Code in getrennte Funktion aufteilen. In C# und Visual Basic werden Funktion auch häufig Methoden genannt. Außerdem werde ich darüber sprechen, wie Sie Ihren Code in Entitäten aufteilen können welche man in verschiedenen Sprachen auch Klassen oder Module nennt. Anschließend sehen wir uns an, wie Sie Ihren Code mit der Hilfe von "if " und "elseif" in verschiedene Pfade verzweigen können. Zu Schleifen wird es auch ein paar Beispiele geben. Wir werden die "for","foreach" und "while"-Schleife benutzen. Am Beispiel der SpeechAPI, die Bestandteil der .NET-Framework Klassenbibliothek ist, werde ich Ihnen außerdem zeigen, wie Sie mit externen Bibliotheken arbeiten können. Ich beginne, indem ich die Module1.vb öffne. Der Name der Datei wurde übrigens automatisch durch die Projektvorlage vergeben. Selbstverständlich hätten wir den Namen auch ändern können. Unabhängig vom Namen ist es unter Visual Basic jedoch Voraussetzung, ein Modul zu haben, welches den Startcode enthält. Und meins heißt eben "Module1". Es beginnt in Zeile 3 und endet hier in Zeile 63. In dem Modul brauche ich ein "Public Sub" mit dem Namen "Main". Das ist der eigentliche Eingangspunkt der Applikation. So, und in der "Main"-Methode lasse ich meine Applikationen laufen. Das Erste, was passiert, ist, dass ich den Titel der Konsole setze. In Zeile 10 rufe ich eine Methode aus einer anderen Klasse auf. Ich sollte nicht "andere Klasse" sagen, denn wir sind aktuell gar nicht in einer Klasse, sondern in einem Modul. Zusätzlich zum Modul habe ich aber auch eine Klasse mit dem Namen "LogoRenderer" geschrieben und rufe in ihr ein Methode namens "DrawHeader" auf. Wie diese "Logo"-Variable initialisiert wird, werde ich gleich noch erklären. Gucken wir uns zunächst einmal den Code in der Datei "LogoRenderer" an. Bei diesem Code handelt es sich um eine Klasse und nicht um ein Modul. Die Idee hinter Klassen und Modulen in Visual Basic ist, dass sie statischen Mitgliedern Module schreiben und ihren Instanz-Mitglieder Klassen. Ich habe hier also eine Klasse und innerhalb meiner Klasse habe ich mehrere Methoden. Ich werde diese Methode hier mit dem Namen "DrawHeader" aufrufen. Sie können aber auch sehen, dass es noch weitere Methoden gibt. In Visual Studio kann ich alle Mitglieder eines Typen sehen, indem ich in das Dropdown-Feld gehe. Es listet alle Namen meiner Methoden auf. Wenn ich auf einen klicke, wie zum Beispiel auf dieses "CreateTopLine", dann springt mein Code-Editor auch direkt an die entsprechende Stelle. Der Grund, weshalb die LogoRenderer Klasse separat geschrieben wurde, ist, dass man so all den Code, der das Banner auf die Konsole zeichnet, an einem Ort hat. Wir kapseln ihn also. Ich zeige Ihnen mal kurz das Ergebnis und danach sehen wir uns mehr Code an. Dazu schließe ich alle Fenster und jetzt starte ich die App, indem ich auf "Debug" klicke und dann auf "Debugging starten". Wie Sie sehen, zeichnet der Code eine Box auf dem Bildschirm. Er schreibt außerdem noch den Text "RoboSpeech", [Das] heißt, der Code der Module zeichnet den Rest der UI und fängt an, mit dem Benutzer zu interagieren. Der Benutzer wird gebeten, einen Text einzugeben. Zurück in Visual Studio sehen wir uns nochmal "Module1" an. Wie eben gesagt, das ist die Methode "Main", der Startpunkt für die Applikation, und was hier in "Main" geschieht, ist, dass ich den Titel der Konsole setze und danach rufe ich die Methode "DrawHeader" auf, eine Instanz einer Klasse auf, die ich gerade erzeugt habe. Sie sehen, dass der Name der Variable, die in Zeile 6 deklariert wird, "logo" ist. In Visual Basic kann man eine Klasse instanziieren, solange sie nicht statisch ist. Eine Instanz erzeuge ich, indem ich "New" und danach den Klassennamen schreibe. In Zeile 5 wird eine Variable für eine neue Instanz der Speech-API Klasse initialisiert. Ich deklariere hier eine Variable vom Typ "SpeechSynthesizer" und initialisiere sie direkt auf der anderen Seite des Gleichheitszeichens. Der Grund, warum die Variable im Modul-Level anstatt in der "Main"-Methode beschrieben wurde, liegt daran, dass wir sie über mehrere Methoden im Modul 1 brauchen werden. Als nächstes habe ich die Methode "ChooseVoice". Dies ist eine Methode, die innerhalb von Module1 lebt. Hier in Zeile 11 rufe ich übrigens eine weitere Methode einer Klasse aus der .NET-Klassenbibliothek auf, allerdings dieses mal nicht aus der Speech-API. Ich nutze hier "Console.WriteLine", um etwas auf der Konsole auszugeben. "WriteLine" ist eine statische Methode, deswegen müssen wir die Klasse "Console" vorher nicht initialisieren. Bestimmt haben Sie schon gemerkt, dass wir in Visual Basic den Namen des Typs und den Namen des Mitglieds durch einen Punkt trennen. Gucken wir uns mal eine "if"-Anweisung an. Da ist eine in der Methode unter "Sub ChooseVoice". Das Schlüsselwort "Sub" wird für Methoden genutzt, die keinen Wert zurückgeben. In C# würden Sie dafür das "void"-Schlüsselwort benutzen, in Visual Basic benutzen Sie aber, wie gesagt, einfach das "Sub"-Schlüsselwort. Funktionen benutzen das Wort "function", im Gegensatz zu "Sub" in Visual Basic. Bei diesem "Sub" deklariere ich eine Variable, welche liest, was der Benutzer eingegeben hat und speichere es hier in einem String, und dann haben wir eine "if"-Anweisung von Zeile 20 bis 27. In Zeile 20 sage ich, wenn Geschlecht in Klammern 0, was so viel bedeutet wie, lese das erste Zeichen des Strings. Um auf ein Element eines Arrays zuzugreifen, benutzen wir sich öffnende und schließende Klammern. In vielen anderen Programmiersprachen werden stattdessen übrigens eckige Klammern benutzt. Also, was ich in Zeile 20 mache, ist, ich gucke nach dem ersten Buchstaben und vergleiche mit dem Buchstaben "w" und das "c" nach de Anführungszeichen bedeutet, dass es ein Charakter und kein String ist. Danach benutzen wir den Visual Basic "OrElse"-Operator, um auszudrücken, dass der folgende Code ausgeführt werden soll, wenn irgendeine der beiden Bedingungen wahr ist. Diese beiden Zeilen Code laufen also nur, wenn die Bedingung zutrifft. Die anderen beiden im "Else"-Zweig laufen, wenn die Bedingungen nicht zutrifft. Diese Zeilen selektieren die Stimme, entweder die weibliche hier oder die männliche hier. Außerdem kann man sich auch noch eine Altersklasse aussuchen. Die Sprachengine hat auch hellere Stimmen für jüngere Altersstufen. Ich sage, ich möchte eine weibliche erwachsene oder eine männlich erwachsene Stimme. Das ist einer der Wege, wie man mit einer "if"-Anweisung arbeitet. Hier unten in der "SayText"-Methode zeige ich Ihnen eine Schleife. Hier warte ich, bis der Benutzer etwas eingegeben hat. Sobald er etwas eingegeben hat, gebe ich das über die Lautsprecher aus, und warte auf eine neue Eingabe eines Strings. Das können wir aber nicht für immer machen. Ich muss dem Benutzer es auch ermöglichen, die Applikation zu verlassen. Ich starte hier eine "do"-Schleife, die hier unten mit dem "loop"-Schlüsselwort endet. In meiner Schleife habe ich eine "if"-Anweisung, in der steht, wenn der Benutzer "ende" eingibt, dann beendet er auch die Schleife. Der Rest des Codes ermittelt die Länge des Textes, erzeugt die Unterkringelung und ändert die Schriftfarbe auf gelb. Sprechen wir einmal darüber, wie man eine Zeile Code in Visual Basic beendet. Das tun Sie ganz einfach mit der Enter-Taste. Es gibt kein spezielles Zeichen und Ihnen wird sicherlich bereits aufgefallen sein, dass es keine Semikolons in diesem Code gibt. Jetzt möchte ich Ihnen gerne zeigen, wie man eine "for-"Schleife schreibt. Dazu öffne ich die Datei "LogoRenderer.vb". In der "DrawHeader"-Methode steht eine Schleife, die ich Ihnen zeigen will. Ich rufe diesen Code zum Erzeugen der mittleren Linien viermal auf. Dazu verwende ich eine "for"-Schleife. In Visual Basic benutzen wir das "for"-Schlüsselwort, um die Schleife zu starten. Mit "next" beenden wir die Schleife und geben an, dass das Programm wieder zum Start der Schleife springen soll. Hier habe ich eine Zählervariable vom Typ "integer", sie wurde mit dem Wert 0 initialisiert. Dieses Codestück ist die Bedingung, die die Schleife anhalten lässt, "To LINEHEIGHT - 1" . LINEHEIGHT ist eine Konstante, die ich deklariert habe. In Visual Basic sind Konstanten Werte, die sich nicht verändern. Wir werden aber mal zurück zum Modul1 gehen, um Ihnen zu zeigen, wie wir die Sprachausgabe erzeugen. Das habe ich Ihnen nämlich noch gar nicht erklärt. Erinnern Sie sich, als ich die "Synth"-Variable deklariert habe? Hier in Zeile 44 sage ich jetzt "synth.Speak", danach überreichen wir den String, und das ist schon alles, was wir machen müssen. Lassen Sie uns noch einmal zusammenfassen, was wir gesehen haben. Ich habe Ihnen ein paar Visual Basic Syntax Grundlagen gezeigt. Danach haben wir gesehen, wie wir Quellcode in Klassen, Module und Methoden aufteilen können. Sie haben gelernt, wie wir "for"- und "do"-Schleifen schreiben. Außerdem gab es ein paar Verzweigungen. Am Ende habe ich Ihnen dann noch gezeigt, wie man Methoden aufruft, unabhängig davon, ob sich die zugehörige Klasse im gleichen Projekt oder in der Framework- Klassenbibliothek befindet.

Visual Studio Grundkurs 2: Die Programmiersprachen

Entdecken Sie die Programmierpsrachen C#, Visual Basic .NET, C++ und F# und wie Sie in Visual Studio damit lauffähige Programme erzeugen.

1 Std. 13 min (14 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Exklusiv für Abo-Kunden
Erscheinungsdatum:16.11.2016

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!