Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Visual Studio Grundkurs 2: Die Programmiersprachen

Erkundung des Robo-Speech-C#-Programms

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
In diesem Video finden Sie heraus, wie Sie mit C# die Robo-Speech-Applikation schreiben. Der Trainer referiert über Prinzipien der Sprache und demonstrieren deren Syntax.

Transkript

In diesem Video finden wir heraus, wie wir mit C# die Robo-Speech-Applikation schreiben. Der Beispielcode ist in dem Robo-Speech C#-Ordner In diesem Projekt sind zwei Dateien, die wir uns angucken werden. Sie enthalten Klassen. Als erstes gibt es die LogoRender.cs-Datei Und hier beginnt unsere Applikation, in der Program.cs Die Prinzipien, über die ich sprechen möchte, stehen hier in den Kommentaren. Ich möchte darüber reden, wie wir Code in getrennte Funktionen aufteilen. In C# und Visual Basic werden Funktionen auch häufig Methoden genannt. Ich werde auch darüber sprechen, wie Sie Ihren Code in Entitäten aufteilen können, welche man in verschiedenen Sprachen auch Klassen oder Module nennt. Wir werden auch darüber reden, wie Sie Ihren Code verzweigen können. Die if und if-else Anweisungen werden auch Teil dieses Videos. C# unterstützt auch anderen Verzweigungs-Code, wie die switch-Anweisung. Wir haben auch ein paar Schleifen-Beispiele. Wir werden die for- und while-Schleife benutzen. Ich werde Ihnen auch zeigen, wie wir mit externen Bibliotheken arbeiten können. In diesem Fall, die Foundation-class library, da sie die speech-API besitzt. Hier sind ein paar grundlegende Regeln für Konsolen-Apps. Sie brauchen eine Klasse, die eine Methode besitzt, die statisch ist. Sie muss auch "Main" heißen. Das sehen wir auch gut in Zeile 17. Ich bin auch in einer Klasse namens "Program" in Zeile 13. In der Main-Methode ändere ich den Titel der Konsole und rufe eine andere Klasse auf. In Zeile 19 sieht man, dass ich die Methode Logo.Header aufrufe und ihr einen string übergebe. Dieser string wird der sein, den wir in dem Banner sehen. Es gibt ein schönes Feature an Visual Studio. Sie können zu diesem Dropdown-Menü gehen, und bekommen eine Übersicht über alle Mitglieder dieser Klasse. Wir sehen, dass ich mehrere Methoden habe und wenn ich eine davon auswähle, gelange ich direkt dort hin. Bei Konstanten und Eigenschaften funktioniert das übrigens auch. Ich habe zwei Konstanten in dieser Klasse, also sehen wir uns die doch mal direkt an. Ich gehe zum Dropdown und wähle "Padding" aus. Das führt mich genau dahin, wo die Konstanten deklariert wurden. In C# ist eine Konstante ein benanntes Objekt, das einen konstanten Wert hat, der nicht geändert werden kann. Der Code wurde in eine seperate Klasse geschrieben, damit all der Code der Banner-Applikation in einer eigenen Klasse ist. Ich zeige auch direkt, was ich meine. Ich schliesse mal alle Fenster und starte das Programm. Da ist das Banner, ganz oben in der Konsolen-App. Und in der Mitte steht gelber Text, der Name der App. Sehen wir uns nochmal die Program.cs an. In Zeile 19 rufe ich die DrawHeader-Methode auf. Ich habe ja gesagt, dass ich erkläre, wie wir die Logo-Variable hier hin bekommen. Und genau das wird in Zeile 15 gemacht. Ich erzeuge eine Instanz von einer Klasse, die ich geschrieben habe und speichere eine Referenz darauf in der Variable Logo. In Zeile 14 können Sie sehen, dass ich eine Variable anlege, die eine Referenz auf den Speech-Synthesizer hat. Diese Klasse kommt übrigens aus der .Net Framework Base class library. Ich habe die Variablen ganz oben in meine Programm-Klasse geschrieben, da ich diese Variablen in mehreren Methoden benutzen möchte. Wenn wir nochmal auf die Main-Methode gucken, sehen wir, dass ich eine Methode in der Speech-Synthesizer-Klasse aufrufe. Nämlich SelectVoicesByHints. Diese ermöglicht es mir das Geschlecht und das Alter der Stimme zu bestimmen. In diesem Fall habe ich die Erwachsenen-Stimme ausgewählt. In Zeile 21 rufe ich noch eine Methode auf, die in einer anderen .Net-Klasse liegt. Diese Methode wird von .Net zur Verfügung gestellt und liegt in der Klasse Konsole, welche auch statisch ist. Deswegen müssen wir sie nicht vorher instanzieren. Daher rufe ich auch einfach nur Console.WriteLine auf und gebe den string weiter. Reden wir über ein paar Prinzipien in C#. Wenn Sie Code schreiben, beenden Sie das Ende der Zeile mit einem Semikolon, wie Sie das auch in Zeile 18 sehen können. So sagen wir dem Compiler: Hiermit bin ich fertig. Das bedeutet, dass sich diese Codezeile über mehrere Zeilen erstrecken kann. Wenn wir so etwas machen ist es immer noch richtig. Um es Ihnen zu beweisen, kompilieren wir mal die Applikation und gucken wir, ob wir irgendwelche Fehlermeldungen bekommen. Nein. Es hat gesagt: Erstellen. Eins erfolgreich. Ich benutze Strg+Z, um meinen Code zurückzusetzen. Und dann machen wir auch weiter. Eine weitere Sache die wir machen ist, die ChooseVoice-Methode in Zeile 20 aufrufen. Und in Zeile 25 wird sie definiert. In Zeile 20 wird sie nur aufgerufen. Hier sehen Sie ein paar Coding-Konstrukte. Die Methode wird mit geschwungenen Klammern abgegrenzt. Wenn ich mit der Maus über eine geschwungene Klammer gehe, zeigt es mir immer die dazu passende öffnende oder schließende Klammer. In Visual Studio gibt es eine schnelle Möglichkeit zwischen zusammengehörenden geöffneten und geschlossenen Klammern zu wechseln. Dazu drücke ich die Strg- und die Akzent-Taste, also die Taste direkt neben dem Fragezeichen. Ich bin jetzt in Zeile 39. Und wenn ich die Tastenkombination nochmal drücke, dann bin ich wieder zurück. Über diesen Wege konnten wir also schnell zwischen geschweiften Klammer springen. In Zeile 30 gibt es noch einen weiteren Bereich, in dem ich Klammern als Codeblock einsetze. Ich habe hier eine if-Anweisung. In C# fangen wir if-Anweisungen mit einem if an und haben dann die Bedingungen in runden Klammern gesetzt. Dann habe ich einen Block in Zeile 30 und 33. Diese Grenzen die wahre Seite der if-Anweisung ab. Der nächste Codeblock steht zwischen den Zeilen 35 und 38. Er enthält den else-Fall. Wenn es wahr ist, wird es die Zeilen 31 und 32 durchlaufen. Und diese beiden, wenn es falsch ist. Aber was überprüfe ich überhaupt in dieser Bedingung? Als erstes lese ich mit ReadLine in Zeile 27, was der Benutzer schreibt und weise es der Variable "gender", Geschlecht, zu. Diese überprüfe ich dann auf den ersten Buchstaben. Es wird auf ein kleines oder großes W überprüft, wobei diese zwei senkrechten Striche hier den "oder"-Operator beschreiben. Also, wenn eines der beiden richtig ist, dann lasse ich diese beiden Zeilen Code laufen. Schauen wir uns jetzt einmal Schleifen an. Dazu werde ich Ihnen die while-Schleife zeigen. Diese startet in der Zeile 42. Der Weg, wie diese Applikation funktioniert ist, dass der Benutzer etwas eingibt und die speech-engine es sagt. Dann wiederholen wir die Schleife, um zu gucken, ob noch weitere Texte eingegeben werden. Deswegen wird sich die Schleife auch unendlich wiederholen. Dann habe ich noch eine if-Anweisung hier in Zeile 51. Diese bewirkt, dass wenn der Benutzer diesen bestimmten string eingibt, ein break gemacht wird. Dies bedeutet, dass wir diese Schleife verlassen. Diese Schleife läuft so lange, bis der Benutzer Ende eingibt und dann gehen wir raus. Der Rest des Codes, ändert nur die Farbe der Konsole, schreibt Text aus, aber in Zeile 58 wird er dann auch wirklich ausgesprochen. Hier, bei synth.Speak, nehmen wir die Benutzereingabe und lassen sie aussprechen. Testen können wir das Ganze, wenn ich den Debugger laufen lasse. Sehen wir uns also einmal die Schleife in Aktion an. Als erstes wählen wir die männliche Stimme aus und drücken Enter. Jetzt läuft die if-Anweisung. Ich gebe mal Text ein und drücke Enter. (Computerstimme): Hello Das ist die while-Schleife, die läuft. Ich gebe mal Ende ein. (Computerstimme): Bye bye. Reden wir mal über den Punkt-Operator. Dazu gehen wir zu Zeile 51. In Zeile 51 hat die Konsolen-Klasse ein Mitglied namens ForegroundColor. Um ein Mitglied und eine Klasse in C# zu trennen, wird der Punktoperator benutzt. Sie sehen das gut am Anfang der Zeile und am Ende der Zeile, wo es sagt ConsoleColor.Yellow. Als nächstes möchte ich rüber zur LogoRender-Klasse und mir die Schleife da ansehen Hier ist der Code, den wir uns angucken wollen. Es ist eine for-Anweisung. Sie hat am Anfang und am Ende eine geschweifte Klammer. Der Code in der Schleife läuft innerhalb der geschweiften Klammern Die for-Anweisung beginnt in Zeile 11 und beinhaltet runde Klammern. In den Klammern sind drei verschiedene Informationen enthalten. Sie werden durch Semikolons getrennt. Die Erste, int counter gleich null, deklariert die Variable counter und initialisiert sie mit dem Wert null. Anschließend haben wir den Ausdruck counter < Line_Height. Line_Height ist eine Konstante, die in Zeile 7 deklariert wurde. Das ist die Abbruchbedingung der Schleife. Und ich sage so lange counter < Line_Height ist laufen wir weiter. Und das letzte, counter inkrementiert counter nach jedem Schleifendurchlauf um eins. Lassen Sie uns nochmal zusammenfassen, was wir uns in diesem Video angesehen haben. Ich habe Ihnen ein wenig grundlegende C#-Syntax gezeigt und wie Sie ihren Code in Klassen und Methoden aufsplitten können. Sie haben gesehen, wie wir for- und while-Schleifen schreiben und konnten außerdem ein paar if-Anweisungen sehen. Zu guter Letzt haben Sie dann gesehen, wie Methoden aufgerufen werden können und zwar unabhängig davon, ob sich die Klasse innerhalb meines Codes befindet oder in der Basisklassen-Bibliothek.

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
Laufzeit:1 Std. 13 min (14 Videos)

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!