37

Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

  • Upload
    lenhi

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung
Page 2: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

17

1Kapitel 1

Einführung

In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang

mit der Entwicklungsumgebung und den Steuerelementen. Sie sind an-

schließend in der Lage, Ihr erstes eigenes Windows-Programm zu erstellen.

Bei Visual Basic .NET handelt es sich um eine objektorientierte Program-

miersprache, die im Zusammenhang mit dem .NET Framework von Micro-

soft zur Verfügung gestellt wird. Mithilfe der Entwicklungsumgebung

Visual Studio, die es aktuell in der Version 2019 gibt, können Sie in mehre-

ren Sprachen, u. a. in Visual Basic .NET, programmieren.

Die Ursprünge von Visual Basic .NET liegen in der Programmiersprache

BASIC, die erstmals im Jahre 1964 erschien. Die Programmiersprache Visual

Basic wurde im Jahre 1991 von Microsoft gemeinsam mit einer integrierten

Entwicklungsumgebung eingeführt. Sie ermöglicht u. a. die einfache Erstel-

lung von Anwendungen mit Benutzeroberflächen. Im Jahre 2002 führte

Microsoft die völlig neu entwickelte, objektorientierte Programmierspra-

che Visual Basic .NET ein.

Das .NET Framework bietet Klassenbibliotheken, Programmierschnittstel-

len und Dienstprogramme zur Entwicklung von Anwendungen. Außer-

dem wird eine Laufzeitumgebung zur Ausführung der Anwendungen zur

Verfügung gestellt.

Sie können die frei verfügbare Community-Version der Entwicklungsum-

gebung Visual Studio 2019 nutzen. Sie lässt sich bei Microsoft über https://

visualstudio.microsoft.com/de/vs herunterladen und auf Ihrem Windows-

PC installieren. Eine Installationsanleitung finden Sie in Anhang A. Die Ent-

wicklungsumgebung umfasst einen Editor zur Erstellung des Programm-

codes, einen Compiler zur Erstellung der ausführbaren Programme, einen

Debugger zur Fehlersuche und vieles mehr.

Mit Visual Basic .NET und dem Visual Studio lassen sich Anwendungen

unterschiedlichen Typs erstellen, das sind u. a.:

7115.book Seite 17 Montag, 6. Mai 2019 2:41 14

Page 3: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

18

� klassische Windows Forms-Anwendungen mit einfach zu erstellenden

grafischen Benutzeroberflächen und ereignisorientierter Programmie-

rung

� Moderne WPF-Anwendungen mit XAML. Dabei werden die Klassenbi-

bliothek Windows Presentation Foundation (WPF) und die Auszeich-

nungssprache eXtensible Application Markup Language (XAML) genutzt.

� Datenbankanwendungen mit lesendem und schreibendem Zugriff auf

viele unterschiedliche Datenbanksysteme. Für den Zugriff auf relatio-

nale Datenbanken kann man mit dem ADO.NET Framework als Teil des

.NET Frameworks arbeiten.

� Dynamische Internetanwendungen, bei denen die Webseiten als inter-

aktive Benutzeroberflächen dienen. Dabei wird das ASP.NET Framework

als Teil des .NET Frameworks genutzt. ASP steht für Active Server Pages.

1.1 Aufbau dieses Buchs

Beispiele Dieses Buch vermittelt Ihnen zunächst einen einfachen Einstieg in die Pro-

grammierung mit Visual Basic und Visual Studio 2019. Die Bearbeitung der

Beispiele und das selbstständige Lösen der vorliegenden Übungsaufgaben

helfen Ihnen dabei, da sie für schnelle Erfolgserlebnisse sorgen, die Sie zum

Weitermachen motivieren sollen. In späteren Kapiteln werden auch die

komplexen Themen vermittelt.

Grundlagen Von Anfang an wird mit anschaulichen Windows-Anwendungen gearbei-

tet. Die Grundlagen der Programmiersprache und die Standardelemente

einer Windows-Anwendung, wie Sie sie bereits von anderen Windows-Pro-

grammen kennen, werden gemeinsam vermittelt. Die Anschaulichkeit

einer Windows-Anwendung hilft Ihnen dabei, den eher theoretischen Hin-

tergrund der Programmiersprache leichter zu verstehen.

Die Projekte in diesem Buch wurden unter Windows 10 bearbeitet. Auch

die Screenshots sind unter dieser Windows-Version entstanden.

Noch eine Anmerkung in eigener Sache: Für die Hilfe bei der Erstellung die-

ses Buchs bedanke ich mich beim Team des Rheinwerk Verlags, besonders

bei Anne Scheibe.

Thomas Theis

7115.book Seite 18 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

19

11.2 Mein erstes Windows-Programm

Anhand eines ersten Projekts werden die Schritte durchlaufen, die zur

Erstellung eines einfachen Programms mithilfe von Visual Basic notwen-

dig sind. Das Programm soll nach dem Aufruf zunächst aussehen wie in

Abbildung 1.1. Nach Betätigung des Buttons Hallo soll sich der Text in der

obersten Zeile verändern (siehe Abbildung 1.2).

Abbildung 1.1 Erstes Programm, nach dem Aufruf

Abbildung 1.2 Nach Betätigung des Buttons »Hallo«

1.3 Visual Basic-Entwicklungsumgebung

Während der Projekterstellung lernen Sie Schritt für Schritt die Visual Stu-

dio-Entwicklungsumgebung für Visual Basic kennen.

1.3.1 Ein neues Projekt

Nach dem Aufruf des Programms Visual Studio Community 2019 können

Sie auf dem Startbildschirm rechts die Schaltfläche Neues Projekt er-

stellen auswählen. Sollte der Startbildschirm nicht sichtbar sein, können

Sie auch den Menüpunkt Datei � Neu � Projekt ausführen.

In beiden Fällen gelangen Sie zum Dialogfeld Neues Projekt erstellen.

Auf der rechten Seite sehen Sie eine längere Liste von Projektvorlagen. Wäh-

len Sie die Vorlage VB Windows Forms-App (.NET Framework) aus (siehe

Abbildung 1.3). Ab dem zweiten Projekt wird diese Vorlage auch auf der lin-

ken Seite erscheinen, unter Zuletzt verwendete Projektvorlagen.

7115.book Seite 19 Montag, 6. Mai 2019 2:41 14

Page 4: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

20

Abbildung 1.3 Projektvorlage VB Windows Forms-App

Nach Betätigung des Buttons Weiter tragen Sie den Projektnamen ein,

hier: MeinErstes. Achten Sie darauf, dass das Häkchen gesetzt ist bei: Legen

Sie die Projektmappe und das Projekt im selben Verzeichnis ab.

Nach Betätigung des Buttons Erstellen erscheinen einige Elemente der

Entwicklungsumgebung. Folgende Elemente sind besonders wichtig:

Form � Das Benutzerformular (engl.: Form) enthält die Oberfläche für den Be-

nutzer des Programms (siehe Abbildung 1.4).

Abbildung 1.4 Benutzerformular

� Der Werkzeugkasten (engl.: Toolbox) enthält die Steuerelemente für

den Benutzer, mit denen er den Ablauf des Programms steuern kann. Sie

werden vom Programmentwickler in das Formular eingefügt (siehe

Abbildung 1.5). Sollten in der Toolbox keine Steuerelemente angezeigt

werden, klicken Sie einmal auf das Benutzerformular und anschließend

wieder auf die Toolbox.

Abbildung 1.5 Werkzeugkasten mit Kategorien von Steuerelementen

7115.book Seite 20 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

21

1� Das Eigenschaften-Fenster (engl.: Properties Window) dient zum An-

zeigen und Ändern der Eigenschaften von Steuerelementen innerhalb

des Formulars durch den Programmentwickler (siehe Abbildung 1.6). Ich

empfehle Ihnen, sich die Eigenschaften in alphabetischer Reihenfolge

anzeigen zu lassen. Dazu einfach das zweite Symbol von links, unter

Form1, betätigen.

Abbildung 1.6 Eigenschaften-Fenster

� Der Projektmappen-Explorer (engl.: Solution Explorer) zeigt das geöff-

nete Projekt und die darin vorhandenen Elemente (siehe Abbildung 1.7).

Abbildung 1.7 Projektmappen-Explorer

Elemente anzeigenSollten der Werkzeugkasten, das Eigenschaften-Fenster oder der Pro-

jektmappen-Explorer nicht angezeigt werden, können Sie das betref-

fende Element über das Menü Ansicht einblenden. Sollte das Formular ein-

mal nicht sichtbar sein, können Sie es über einen Doppelklick auf den

Namen (Form1.vb) im Projektmappen-Explorer einblenden. Sollten die

Eigenschaften eines Steuerelements nicht im bereits sichtbaren Eigen-

schaften-Fenster angezeigt werden, markieren Sie zunächst den Namen

der Formulardatei (Form1.vb) im Projektmappen-Explorer und an-

schließend das betreffende Steuerelement.

Zunächst werden nur einfache Programme mit wenigen Elementen ge-

schrieben, daher benötigen Sie den Projektmappen-Explorer noch nicht.

Es empfiehlt sich, das Eigenschaften-Fenster nach oben zu vergrößern.

7115.book Seite 21 Montag, 6. Mai 2019 2:41 14

Page 5: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

22

1.3.2 Einfügen von Steuerelementen

Label, Button Zunächst sollen drei Steuerelemente in das Formular eingefügt werden:

ein Bezeichnungsfeld (Label) und zwei Befehlsschaltflächen (Buttons). Ein

Bezeichnungsfeld dient im Allgemeinen dazu, feste oder veränderliche

Texte auf der Benutzeroberfläche anzuzeigen. In diesem Programm soll

das Label einen Text anzeigen. Ein Button dient zum Starten bestimmter

Programmteile oder, allgemeiner ausgedrückt, zum Auslösen von Ereignis-

sen. In diesem Programm sollen die Buttons den Text anzeigen bzw. das

Programm beenden.

Allgemeine

Steuerelemente

Um ein Steuerelement einzufügen, ziehen Sie es mithilfe der Maus vom

Werkzeugkasten an die gewünschte Stelle im Formular. Alle Steuerele-

mente finden sich im Werkzeugkasten unter Alle Windows Forms.

Übersichtlicher ist der Zugriff über Allgemeine Steuerelemente (engl.:

Common Controls) (siehe Abbildung 1.8).

Abbildung 1.8 Kategorie »Allgemeine Steuerelemente«

Steuerelement

auswählen

Ein Doppelklick auf ein Steuerelement im Werkzeugkasten fügt es eben-

falls in die Form ein. Anschließend können noch Ort und Größe verändert

werden. Dazu müssen Sie das betreffende Steuerelement vorher durch An-

klicken ausgewählt haben (siehe Abbildung 1.9). Ein überflüssiges Steuerele-

ment können Sie durch Auswählen und Drücken der Taste (Entf) entfernen.

Abbildung 1.9 Ausgewählter Button

Die Größe und andere Eigenschaften des Formulars selbst können auch

verändert werden. Dazu müssen Sie es vorher durch Anklicken einer freien

Stelle auswählen.

7115.book Seite 22 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

23

11.3.3 Arbeiten mit dem Eigenschaften-Fenster

Die eingefügten Steuerelemente haben zunächst einheitliche Namen und

Aufschriften, diese sollten allerdings zur einfacheren Programmentwick-

lung geändert werden. Es gibt bestimmte Namenskonventionen, die die

Lesbarkeit erleichtern: Die Namen beinhalten den Typ (mit drei Buchsta-

ben abgekürzt) und die Aufgabe des Steuerelements (jeweils mit großem

Anfangsbuchstaben). Aus den Namen der Steuerelemente ergeben sich

auch die Namen der sogenannten Ereignisprozeduren, ebenfalls mit gro-

ßem Anfangsbuchstaben (siehe Abschnitt 1.3.5). Seit Visual Studio 2019

wird stärker auf die Einhaltung der Namenskonventionen geachtet.

Cmd, Txt, Lbl …Ein Button (eigentlich: Command Button), der die Anzeige der Zeit auslö-

sen soll, wird beispielsweise mit CmdZeit bezeichnet. Weitere Vorsilben sind

Txt (Textfeld/TextBox), Lbl (Bezeichnungsfeld/Label), Opt (Optionsschalt-

fläche/RadioButton), Frm (Formular/Form) und Chk (Kontrollkästchen/

CheckBox).

Zur Änderung des Namens eines Steuerelements müssen Sie es zunächst

auswählen. Die Auswahl kann entweder durch Anklicken des Steuerele-

ments auf dem Formular oder durch Auswahl aus der Liste am oberen Ende

des Eigenschaften-Fensters geschehen.

Eigenschaften-

Fenster

Im Eigenschaften-Fenster werden alle Eigenschaften des ausgewählten

Steuerelements angezeigt. Die Liste ist zweispaltig: In der linken Spalte

steht der Name der Eigenschaft, in der rechten Spalte ihr aktueller Wert. Die

Eigenschaft (Name) steht am Anfang der Liste der Eigenschaften. Die

betreffende Zeile wird durch Anklicken ausgewählt, und der neue Name

wird eingegeben. Nach Bestätigung mit der Taste (¢) ist die Eigenschaft

geändert (siehe Abbildung 1.10).

Abbildung 1.10 Button, Eigenschaft »Name« geändert

Eigenschaft TextDie Aufschrift von Buttons, Labels und Formularen ist in der Eigenschaft

Text angegeben. Sobald diese Eigenschaft verändert wird, erscheint die ver-

7115.book Seite 23 Montag, 6. Mai 2019 2:41 14

Page 6: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

24

änderte Aufschrift in dem betreffenden Steuerelement. Auch die Aufschrift

und die Größe des Formulars sollten Sie mithilfe der Eigenschaft Size

ändern. Im Folgenden sind die gewünschten Eigenschaften für die Steuer-

elemente dieses Programms in Tabellenform angegeben (siehe Tabelle 1.1).

Startzustand Zu diesem Zeitpunkt legen Sie den Startzustand fest, also die Eigenschaf-

ten, die die Steuerelemente zu Beginn des Programms bzw. eventuell wäh-

rend des gesamten Programms haben sollen. Viele Eigenschaften können

Sie auch während der Laufzeit des Programms durch den Programmcode

verändern lassen.

Bei einem Label ergibt die Einstellung der Eigenschaft BorderStyle auf

FixedSingle einen Rahmen. Zur Änderung auf FixedSingle müssen Sie die

Liste bei der Eigenschaft aufklappen und den betreffenden Eintrag auswäh-

len (siehe Abbildung 1.11). Zur Änderung einiger Eigenschaften müssen Sie

eventuell sogar ein Dialogfeld aufrufen.

Im Label soll zunächst der Text (leer) erscheinen. Hierzu müssen Sie den

vorhandenen Text durch Anklicken auswählen und ändern.

Liste der

Steuerelemente

Sie finden alle in diesem Formular vorhandenen Steuerelemente in der

Liste, die sich am oberen Ende des Eigenschaften-Fensters öffnen lässt.

Dabei zeigt sich ein Vorteil der einheitlichen Namensvergabe: Die Steuer-

elemente des gleichen Typs stehen direkt untereinander.

Typ Eigenschaft Einstellung

Formular Text MeinErstes

Size 300; 300

Button Name CmdHallo

Text Hallo

Button Name CmdEnde

Text Ende

Label Name LblAnzeige

Text (leer)

BorderStyle FixedSingle

Tabelle 1.1 Steuerelemente mit Eigenschaften

7115.book Seite 24 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

25

1

Abbildung 1.11 Label, Eigenschaften »Name« und »BorderStyle« geändert

1.3.4 Speichern eines Projekts

Alles speichernDie Daten eines Visual Basic-Projekts werden in verschiedenen Dateien ge-

speichert. Zum Speichern des gesamten Projekts wird der Menüpunkt

Datei � Alles Speichern verwendet. Diesen Vorgang sollten Sie in regel-

mäßigen Abständen durchführen, damit keine Änderungen verloren ge-

hen können.

Die in diesem Skript angegebenen Namen dienen als Empfehlung. Sie

erleichtern die eindeutige Orientierung und das spätere Auffinden von

alten Programmen.

1.3.5 Das Codefenster

EreignisDer Ablauf eines Windows-Programms wird im Wesentlichen durch das

Auslösen von Ereignissen durch den Benutzer gesteuert. Er löst z. B. die

Anzeige des Texts Hallo aus, indem er auf den Button Hallo klickt. Sie als

Entwickler müssen dafür sorgen, dass aufgrund dieses Ereignisses der ge-

wünschte Text angezeigt wird. Zu diesem Zweck schreiben Sie Programm-

code und ordnen diesen Code dem Ereignis zu. Der Code wird in einer Er-

eignisprozedur abgelegt.

EreignisprozedurZum Schreiben einer Ereignisprozedur führen Sie am besten einen Doppel-

klick auf das betreffende Steuerelement aus. Es erscheint das Codefenster.

Zwischen der Formular- und der Code-Ansicht können Sie anschließend

7115.book Seite 25 Montag, 6. Mai 2019 2:41 14

Page 7: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

26

über die Menüpunkte Ansicht � Code bzw. Ansicht � Designer hin- und

herschalten. Das ist auch über die Registerkarten oberhalb des Formulars

bzw. des Codefensters möglich (siehe Abbildung 1.12).

Abbildung 1.12 Registerkarten

Nach erfolgtem Doppelklick auf den Button Hallo erscheinen im Code-

fenster folgende Einträge:

Private Sub CmdHallo_Click(sender As Object,e As EventArgs) Handles CmdHallo.Click

End Sub

Listing 1.1 Projekt »MeinErstes«, Button »Hallo«, ohne Code

Innerhalb der Ereignisprozedur ist der Platz für den eigenen Programm-

code.

Class VB.NET ist eine objektorientierte Sprache. Ein wichtiges Element objektori-

entierter Sprachen sind Klassen. Alle Elemente des aktuellen Formulars

Form1 stehen innerhalb der Klasse Form1 (zwischen Public Class und End

Class). Auf die Einzelheiten der Objektorientierung wird zu einem späteren

Zeitpunkt eingegangen, da das hier noch nicht notwendig ist und eher ver-

wirren würde.

Sub Der Programmcode der Ereignisprozedur steht später zwischen Private Sub

und End Sub. Der Name der Prozedur besteht aus den zwei Teilen Name des

Steuerelements und Ereignis.

Zeilenumbruch Die Anweisung Private Sub ... ist recht lang, daher wird sie auf mehrere

Zeilen verteilt. Visual Basic ermöglicht Zeilenumbrüche an bestimmten

Stellen einer Anweisung auf einfache Art und Weise. Das erhöht wesentlich

die Lesbarkeit von Programmen. Aus Druckgründen werden in diesem

Buch häufig längere Anweisungen auf mehrere Zeilen verteilt. Die Regeln

für Zeilenumbrüche finden Sie in Abschnitt 1.3.12. Der anfänglich ausge-

7115.book Seite 26 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

27

1führte Doppelklick führt immer zu dem Ereignis, das am häufigsten mit

dem betreffenden Steuerelement verbunden wird. Das ist beim Button

natürlich das Ereignis Click. Zu einem Steuerelement gibt es aber auch

noch andere mögliche Ereignisse.

Oberhalb von Public Class ... und von Private Sub ... erscheinen seit

Visual Studio 2015 automatisch weitere Informationen zur Klasse Form1

und ihren Elementen in kleiner grauer Schrift, wie z. B. 0 Verweise oder 2

Verweise (engl.: References). Auch sie können wir zunächst ignorieren.

1.3.6 Schreiben von Programmcode

In der Prozedur CmdHallo_Click() soll eine Befehlszeile eingefügt werden,

sodass sie anschließend wie folgt aussieht:

Public Class Form1Private Sub CmdHallo_Click(sender As Object,

e As EventArgs) Handles CmdHallo.ClickLblAnzeige.Text = "Hallo"

End SubEnd Class

Listing 1.2 Projekt »MeinErstes«, Button »Hallo«, mit Code

Der Text muss in Anführungszeichen gesetzt werden, da Visual Basic sonst

annimmt, dass es sich um eine Variable mit dem Namen Hallo handelt.

AnweisungDer Inhalt einer Prozedur setzt sich aus einzelnen Anweisungen zusam-

men, die nacheinander ausgeführt werden. Die vorliegende Prozedur ent-

hält nur eine Anweisung; in ihr erfolgt mithilfe des Gleichheitszeichens

eine Zuweisung.

ZuweisungBei einer Zuweisung wird der Ausdruck rechts vom Gleichheitszeichen aus-

gewertet und der Variablen, der Objekt-Eigenschaft oder der Steuerele-

menteigenschaft links vom Gleichheitszeichen zugewiesen. Die Zeichen-

kette Hallo wird der Eigenschaft Text des Steuerelements LblAnzeige

mithilfe der Schreibweise Steuerelement.Eigenschaft = Wert zugewiesen.

Das führt zur Anzeige des Werts.

Nach dem Wechsel auf die Formularansicht können Sie das nächste Steuer-

element auswählen, für das eine Ereignisprozedur geschrieben werden

soll.

7115.book Seite 27 Montag, 6. Mai 2019 2:41 14

Page 8: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

28

Code editieren Innerhalb des Codefensters können Sie Text mit den gängigen Methoden

der Textverarbeitung editieren, kopieren, verschieben und löschen.

Syntaxfehler Sollten Sie bereits bei der Eingabe des Programmcodes Syntaxfehler ge-

macht haben, wird das angezeigt. Sie sollten den Code unmittelbar ent-

sprechend korrigieren.

In der Ereignisprozedur CmdEnde_Click() soll der folgende Code stehen:

Private Sub CmdEnde_Click(sender As Object,e As EventArgs) Handles CmdEnde.Click

Close()End Sub

Listing 1.3 Projekt »MeinErstes«, Button »Ende«

Die Methode Close() dient zum Schließen eines Formulars. Da es sich um

das einzige Formular dieses Projekts handelt, wird dadurch das Programm

beendet und die gesamte Windows-Anwendung geschlossen.

Me Das aktuelle Objekt einer Klasse wird mit Me bezeichnet. Da wir uns inner-

halb der Klasse für das aktuelle Formular befinden, bezieht sich Me auf die-

ses Formular. Die Anweisung zum Schließen dieses Formulars könnte also

auch lauten: Me.Close(). In vielen Fällen ist Me allerdings überflüssig und

kann weggelassen werden.

Graue Schriftfarbe Seit der Version 2015 von Visual Studio werden überflüssige Elemente im

Programmcode deutlicher gekennzeichnet, indem sie in grauer Schriftfarbe

dargestellt werden. Falls sich der Cursor in der betreffenden Zeile befindet,

erscheint links von der Zeile eine gelbe Glühlampe. Platzieren Sie die Maus

über dieser Glühlampe, wird der Zugang zu Hinweisen ermöglicht, wie die

überflüssigen Elemente entfernt werden können. In Abbildung 1.13 sehen

Sie ein Beispiel: Im Programmcode wurde Me.Close() statt Close() notiert.

Abbildung 1.13 »Me« kann entfernt werden.

7115.book Seite 28 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

29

1Das waren Beispiele zur Änderung der Eigenschaften eines Steuerelements

zur Laufzeit des Programms durch Programmcode. Sie erinnern sich: Zu

Beginn hatten wir die Starteigenschaften der Steuerelemente im Eigen-

schaften-Fenster eingestellt.

1.3.7 Kommentare

Einfaches

Hochkomma

Bei längeren Programmen mit vielen Anweisungen gehört es zum guten

Programmierstil, Kommentarzeilen zu schreiben. In diesen Zeilen werden

einzelne Anweisungen oder auch längere Blöcke von Anweisungen erläu-

tert, damit Sie selbst oder auch ein anderer Programmierer sie später leich-

ter verstehen. Eine Kommentarzeile beginnt mit einem einfachen Hoch-

komma. Alle Zeichen bis zum Ende der Zeile werden als Kommentar

angesehen und folglich nicht übersetzt oder ausgeführt.

Der folgende Programmcode wird um eine Kommentarzeile ergänzt:

Private Sub CmdEnde_Click(sender As Object,e As EventArgs) Handles CmdEnde.Click

' Schließt die AnwendungClose()

End Sub

Listing 1.4 Projekt »MeinErstes«, Button »Ende«, mit Kommentar

Code aus-

kommentieren

Ein kleiner Trick: Sollen bestimmte Programmzeilen für einen Test des Pro-

gramms kurzfristig nicht ausgeführt werden, können Sie sie auskommen-

tieren, indem Sie das Hochkomma vor die betreffenden Zeilen setzen. Das

geht sehr schnell, indem Sie die betreffende(n) Zeile(n) markieren und

anschließend das entsprechende Symbol im linken Bereich der Symbol-

leiste anklicken (siehe Abbildung 1.14). Rechts daneben befindet sich das

Symbol, das die Auskommentierung nach dem Test wieder rückgängig

macht.

Abbildung 1.14 Kommentar ein/aus

1.3.8 Starten, Ausführen und Beenden des Programms

Programm startenNach dem Einfügen der Steuerelemente und dem Erstellen der Ereignis-

prozeduren ist das Programm fertig, und Sie können es starten. Dazu wird

7115.book Seite 29 Montag, 6. Mai 2019 2:41 14

Page 9: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

30

der Start-Button in der Symbolleiste (dreieckiger grüner Pfeil nach rechts)

betätigt. Alternativ starten Sie das Programm über die Funktionstaste (F5)

oder den Menüpunkt Debuggen � Debugging starten. Das Formular

erscheint, das Betätigen der Buttons führt zum programmierten Ergebnis.

Programm beenden Zur regulären Beendigung eines Programms dient der Button mit der Auf-

schrift Ende. Möchten Sie ein Programm während des Verlaufs abbrechen,

können Sie auch den End-Button in der Symbolleiste (rotes Quadrat) betä-

tigen.

Fehler Tritt während der Ausführung eines Programms ein Fehler auf, wird das

angezeigt, und das Codefenster zeigt die entsprechende Ereignisprozedur

sowie die fehlerhafte Zeile an. Beenden Sie das Programm, korrigieren Sie

den Code, und starten Sie das Programm wieder.

Programm testen Es wird empfohlen, das Programm bereits während der Entwicklung mehr-

mals durch Aufruf zu testen und nicht erst, wenn das Programm vollstän-

dig erstellt worden ist. Geeignete Zeitpunkte sind z. B.

� nach dem Einfügen der Steuerelemente und dem Zuweisen der Eigen-

schaften, die sie zu Programmbeginn haben sollen,

� nach dem Erstellen jeder Ereignisprozedur.

1.3.9 Ausführbares Programm

.exe-Datei Nach erfolgreichem Test des Programms könnten Sie auch die ausführbare

Datei (.exe-Datei) außerhalb der Entwicklungsumgebung aufrufen. Sie fin-

den sie im Unterverzeichnis bin\Debug des Projektverzeichnisses. Sie kön-

nen das Programm also im Windows-Explorer direkt über einen Doppel-

klick starten.

Die Weitergabe eines eigenen Windows-Programms auf einen anderen PC

ist etwas aufwendiger. Der Vorgang wird im Anhang beschrieben.

1.3.10 Projekt schließen, Projekt öffnen

Projekt schließen Sie können ein Projekt über den Menüpunkt Datei � Projektmappe

schließen schließen. Falls Sie Veränderungen vorgenommen haben, wer-

den Sie gefragt, ob Sie diese Änderungen speichern möchten.

Möchten Sie die Projektdaten sicherheitshalber zwischendurch speichern,

ist das über den Menüpunkt Datei � Alles speichern möglich. Das ist bei

längeren Entwicklungsphasen sehr zu empfehlen.

7115.book Seite 30 Montag, 6. Mai 2019 2:41 14

1.3 Visual Basic-Entwicklungsumgebung

31

1Projekt öffnenZum Öffnen eines vorhandenen Projekts wählen Sie auf dem Startbild-

schirm links das betreffende Projekt direkt aus der Liste Zuletzt verwen-

dete Elemente öffnen aus.

Sie können auch rechts auf dem Startbildschirm die Schaltfläche Projekt

oder Projektmappe öffnen betätigen. Sollte der Startbildschirm nicht

sichtbar sein, können Sie auch den Menüpunkt Datei � öffnen � Projekt/

Projektmappe auswählen.

In beiden Fällen erscheint das Dialogfeld Projekt/Projektmappe öff-

nen. Darin wählen Sie zunächst das gewünschte Projektverzeichnis aus

und anschließend die gleichnamige Datei mit der Endung .sln.

Alle Beispielprojekte finden Sie auf https://www.rheinwerk-verlag.de/4926

unter »Materialien zum Buch« zum Download. Sie können diese Projekte

auf Ihre Festplatte kopieren. Sollte eines der Projekte einmal nicht gestartet

werden können, sollten Sie es neu über den Menüpunkt Erstellen � Pro-

jektmappe neu erstellen erstellen.

1.3.11 Übung

Übung »UName«Erstellen Sie ein Windows-Programm mit einem Formular, das zwei But-

tons und ein Label beinhaltet (siehe Abbildung 1.15). Bei Betätigung des ers-

ten Buttons erscheint im Label Ihr Name. Bei Betätigung des zweiten

Buttons wird das Programm beendet. Namensvorschläge: Projektname

UName, Buttons CmdMyName und CmdEnde, Label LblMyName.

Abbildung 1.15 Übung »UName«

1.3.12 Regeln für Zeilenumbrüche

ZeilenumbruchVisual Basic ermöglicht Zeilenumbrüche an bestimmten Stellen einer

Anweisung auf einfache Art und Weise. Das erhöht die Lesbarkeit des Pro-

grammcodes. Einige Regeln wurden bereits im ersten Programm ange-

wandt. Hier noch einmal die Prozedur CmdHallo_Click():

7115.book Seite 31 Montag, 6. Mai 2019 2:41 14

Page 10: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

32

Private Sub CmdHallo_Click(sender As Object,e As EventArgs) Handles CmdHallo.Click

LblAnzeige.Text = "Hallo"End Sub

Listing 1.5 Projekt »MeinErstes«, Ausschnitt

Regeln Ein Zeilenumbruch ist möglich:

� nach einer öffnenden Klammer (siehe erste Prozedurzeile)

� vor einer schließenden Klammer (siehe dritte Prozedurzeile)

� nach einem Komma (siehe zweite Prozedurzeile)

Außerdem wäre ein Zeilenumbruch z. B. auch möglich:

� nach den meisten Operatoren, also auch nach dem Zuweisungsoperator

= (siehe Abschnitt 2.2.5) oder dem Verkettungsoperator & (siehe Ab-

schnitt 2.2.4).

� nach einem Punkt hinter einem Objektnamen, also auch nach dem

Punkt hinter dem Objektnamen LblAnzeige

Auf keinen Fall dürfen Zeilenumbrüche innerhalb einer Zeichenkette

durchgeführt werden. Weitere Möglichkeiten für Zeilenumbrüche werden

jeweils an der passenden Stelle erläutert.

Unterstrich Falls Sie das Zeichen _ (Unterstrich) am Ende einer Zeile notieren, kann

anschließend in jedem Fall ein Zeilenumbruch durchgeführt werden,

unabhängig von den oben genannten Regeln.

1.4 Arbeiten mit Steuerelementen

1.4.1 Steuerelemente formatieren

Hilfslinien Zur besseren Anordnung der Steuerelemente auf dem Formular können

Sie sie mithilfe der Maus nach Augenmaß verschieben. Dabei erscheinen

automatisch Hilfslinien, falls das aktuelle Element horizontal oder vertikal

parallel zu einem anderen Element steht.

Mehrere

Steuerelemente

markieren

Weitere Möglichkeiten bieten die Menüpunkte im Menü Format. In vie-

len Fällen müssen vorher mehrere Steuerelemente auf einmal markiert

werden (siehe Abbildung 1.16).

7115.book Seite 32 Montag, 6. Mai 2019 2:41 14

1.4 Arbeiten mit Steuerelementen

33

1

Abbildung 1.16 Mehrere markierte Elemente

Das geschieht entweder

� durch Umrahmung der Elemente mit einem Rechteck, nachdem Sie

zuvor das Steuerelement (Maus-)Zeiger ausgewählt haben, oder

� durch Mehrfachauswahl, indem ab dem zweiten auszuwählenden Steu-

erelement die (ª)-Taste (wie für Großbuchstaben) oder die (Strg)-Taste

gedrückt wird.

Menü »Format«Über das Menü Format haben Sie anschließend folgende Möglichkeiten

zur Anpassung der Steuerelemente:

� Die ausgewählten Steuerelemente können horizontal oder vertikal zuei-

nander ausgerichtet werden (Menü Format � Ausrichten).

� Die horizontalen und/oder vertikalen Dimensionen der ausgewählten

Steuerelemente können angeglichen werden (Menü Format � Größe

angleichen).

Einheitliche

Abstände

� Die horizontalen und vertikalen Abstände zwischen den ausgewählten

Steuerelementen können angeglichen, vergrößert, verkleinert oder ent-

fernt werden (Menü Format � Horizontaler Abstand/Vertikaler

Abstand).

� Die Steuerelemente können horizontal oder vertikal innerhalb des For-

mulars zentriert werden (Menü Format � Auf Formular zentrieren).

� Sollten sich die Steuerelemente teilweise überlappen, können Sie ein-

zelne Steuerelemente in den Vorder- bzw. Hintergrund schieben (Menü

Format � Reihenfolge).

� Sie können alle Steuerelemente gleichzeitig gegen versehentliches Ver-

schieben absichern (Menü Format � Steuerelemente Sperren). Diese

Sperrung gilt nur während der Entwicklung des Programms.

Abbildung 1.17 zeigt ein Formular mit drei Buttons, die alle links ausgerich-

tet sind und im gleichen vertikalen Abstand zueinander stehen.

7115.book Seite 33 Montag, 6. Mai 2019 2:41 14

Page 11: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

34

Abbildung 1.17 Nach der Formatierung

Übung

Laden Sie das Projekt MeinErstes aus dem vorherigen Abschnitt, markieren

Sie darin mehrere Steuerelemente, und testen Sie die einzelnen Möglich-

keiten des Format-Menüs.

1.4.2 Steuerelemente kopieren

Steuerelemente

kopieren

Zur schnelleren Erzeugung eines Projekts können vorhandene Steuerele-

mente einschließlich aller ihrer Eigenschaften kopiert werden. Markieren

Sie hierzu die gewünschten Steuerelemente, und kopieren Sie sie entweder

� über das Menü Bearbeiten � Kopieren und das Menü Bearbeiten �

Einfügen oder

� mit den Tasten (Strg) + (C) und (Strg) + (V).

Anschließend sollten die neu erzeugten Steuerelemente direkt umbe-

nannt und an der gewünschten Stelle angeordnet werden.

Übung

Laden Sie das Projekt MeinErstes aus Abschnitt 1.3, und kopieren Sie ein-

zelne Steuerelemente. Kontrollieren Sie anschließend die Liste der vorhan-

denen Steuerelemente im Eigenschaften-Fenster auf einheitliche Na-

mensgebung.

1.4.3 Eigenschaften zur Laufzeit ändern

Size, Location Steuerelemente haben die Eigenschaften Size (mit den Komponenten

Width und Height) und Location (mit den Komponenten X und Y) zur

Angabe von Größe und Position. X und Y geben die Koordinaten der oberen

7115.book Seite 34 Montag, 6. Mai 2019 2:41 14

1.4 Arbeiten mit Steuerelementen

35

1linken Ecke des Steuerelements an, gemessen von der oberen linken Ecke

des umgebenden Elements (meist das Formular). Alle Werte werden in

Pixeln gemessen.

Alle diese Eigenschaften können sowohl während der Entwicklungszeit als

auch während der Laufzeit eines Projekts verändert werden. Zur Änderung

während der Entwicklungszeit können Sie die Eigenschaft wie gewohnt im

Eigenschaften-Fenster eingeben. Als Beispiel für Änderungen während

der Laufzeit soll das folgende Programm (Projekt Steuerelemente) dienen

(siehe Abbildung 1.18).

Abbildung 1.18 Position und Größe bestimmen

Der Programmcode:

Public Class Form1Private Sub CmdPositionRel_Click(...) Handles ...

CmdTest.Location = New Point(CmdTest.Location.X + 20, CmdTest.Location.Y)

End Sub

Private Sub CmdPositionAbs_Click(...) Handles ...CmdTest.Location = New Point(100, 200)

End Sub

Private Sub CmdGroesseRel_Click(...) Handles ...CmdTest.Size = New Size(

CmdTest.Size.Width + 20, CmdTest.Size.Height)End Sub

Private Sub CmdGroesseAbs_Click(...) Handles ...

7115.book Seite 35 Montag, 6. Mai 2019 2:41 14

Page 12: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

36

CmdTest.Size = New Size(50, 100)End Sub

End Class

Listing 1.6 Projekt »Steuerelemente«

Zur Erläuterung:

Verkürzte

Darstellung

� Der Kopf der einzelnen Prozeduren wird aus Gründen der Übersichtlich-

keit jeweils in verkürzter Form abgebildet. Das wird bei den meisten

nachfolgenden Beispielen ebenfalls so sein, außer wenn es genau auf die

Inhalte des Prozedurkopfs ankommt.

� Das Formular enthält fünf Buttons. Die oberen vier Buttons dienen der

Veränderung von Position und Größe des fünften Buttons.

� Die Position eines Elements kann relativ zur aktuellen Position oder auf

absolute Werte eingestellt werden. Das Gleiche gilt für die Größe eines

Elements.

� Bei beiden Angaben handelt es sich um Wertepaare (X/Y bzw. Width/

Height).

New Point � Zur Einstellung der Position dient die Struktur Point. Ein Objekt dieser

Struktur liefert ein Wertepaar. In diesem Programm wird mit New jeweils

ein neues Objekt der Struktur Point erzeugt, um das Wertepaar bereitzu-

stellen.

X, Y � Bei Betätigung des Buttons Position Abs wird die Position des fünften

Buttons auf die Werte X=100 und Y=200 gestellt, gemessen von der linken

oberen Ecke des Formulars.

� Bei Betätigung des Buttons Position Rel wird die Position des fünften

Buttons auf die Werte X = CmdTest.Location.X + 20 und Y = CmdTest.Loca-

tion.Y gestellt. Bei X wird also der alte Wert der Komponente X um 20

erhöht, das Element bewegt sich nach rechts. Bei Y wird der alte Wert der

Komponente Y nicht verändert, das Element bewegt sich nicht nach

oben oder unten.

� Zur Einstellung der Größe dient die Struktur Size.

Width, Height � Bei Betätigung des Buttons Größe Abs wird die Größe des fünften But-

tons auf die Werte Width = 50 und Height = 100 gestellt.

� Bei Betätigung des Buttons Größe Rel wird die Größe des fünften But-

tons auf die Werte Width = CmdTest.Size.Width + 20 und Height = Cmd-

Test.Size.Height gestellt. Bei Width wird also der alte Wert der Kompo-

7115.book Seite 36 Montag, 6. Mai 2019 2:41 14

1.4 Arbeiten mit Steuerelementen

37

1nente Width um 20 erhöht, das Element wird breiter. Bei Height wird der

alte Wert der Komponente Height nicht modifiziert, das Element verän-

dert seine Höhe nicht.

Nach einigen Klicks sieht das Formular aus wie in Abbildung 1.19.

Abbildung 1.19 Veränderung von Eigenschaften zur Laufzeit

1.4.4 Vergabe und Verwendung von Namen

Beachten Sie in allen Programmen, dass jedes Steuerelement seinen eige-

nen, eindeutigen Namen hat und immer mit diesem Namen angesprochen

werden muss. Es passiert erfahrungsgemäß besonders am Anfang häufig,

dass ein Programm nicht zum gewünschten Erfolg führt, weil ein nicht vor-

handener Name verwendet wird. In diesem Zusammenhang weise ich

noch einmal auf die Namenskonventionen hin:

� Buttons sollten Namen wie CmdEnde, CmdAnzeigen, CmdBerechnen usw.

haben.

� Labels sollten Namen wie z. B. LblAnzeige, LblName, LblUhrzeit, LblBe-

ginnDatum haben.

Diese Namen liefern eine eindeutige Information über Typ und Funktion

des Steuerelements. Falls Sie beim Schreiben von Programmcode anschlie-

ßend diese Namen z. B. vollständig in Kleinbuchstaben eingeben, werden

sie nach Verlassen der Zeile automatisch korrigiert. Daran können Sie

schnell erkennen, ob Sie tatsächlich ein vorhandenes Steuerelement ver-

wendet haben.

1.4.5 Verknüpfung von Texten, mehrzeilige Texte

& und vbCrLfEs lassen sich mehrere Texte in einer Ausgabe mithilfe des Zeichens & mit-

einander verknüpfen. Falls Sie eine mehrzeilige Ausgabe wünschen, müs-

7115.book Seite 37 Montag, 6. Mai 2019 2:41 14

Page 13: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

1 Einführung

38

sen Sie zusätzlich einen Zeilenvorschub mithilfe der integrierten Visual

Basic-Konstante vbCrLf eingeben.

Nachfolgend wird das Formular des Projekts Steuerelemente vergrößert,

z. B. auf 500 × 400. Anschließend wird es um ein Label ergänzt, in dem die

aktuelle Position und Größe des Buttons angezeigt wird. Das soll nach Betä-

tigung des Buttons Anzeige geschehen:

Private Sub CmdAnzeige_Click(...) Handles ...LblAnzeige.Text =

"Position: X: " & CmdTest.Location.X & ", Y: " &CmdTest.Location.Y & vbCrLf & "Größe: Breite: " &CmdTest.Size.Width & ", Höhe: " & CmdTest.Size.Height

End Sub

Listing 1.7 Projekt »Steuerelemente«, Anzeige

Nach einigen Klicks und der Betätigung des Buttons Anzeige sieht das For-

mular aus wie in Abbildung 1.20.

Abbildung 1.20 Anzeige der Eigenschaften

1.4.6 Eigenschaft BackColor, Farben allgemein

BackColor Die Hintergrundfarbe eines Steuerelements wird mit der Eigenschaft Back-

Color festgelegt. Dabei können Sie die Farbe zur Entwicklungszeit leicht

mithilfe einer Farbpalette oder aus Systemfarben auswählen.

Color Hintergrundfarben und andere Farben können auch zur Laufzeit einge-

stellt werden, dabei verwenden Sie Farbwerte. Diese Farbwerte können Sie

über die Struktur Color auswählen.

7115.book Seite 38 Montag, 6. Mai 2019 2:41 14

1.4 Arbeiten mit Steuerelementen

39

1Ein Beispiel, ebenfalls im Projekt Steuerelemente:

Private Sub CmdFarbe_Click(...) Handles ...BackColor = Color.YellowLblAnzeige.BackColor = Color.FromArgb(192, 255, 0)

End Sub

Listing 1.8 Projekt »Steuerelemente«, Anzeige der Farbe

Zur Erläuterung:

� Diese Struktur bietet vordefinierte Farbnamen als Eigenschaften, z. B.

Yellow. Der Wert kann der Eigenschaft BackColor des Steuerelements

zugewiesen werden, hier ist es das Formular selbst.

FromArgb()� Außerdem bietet die Struktur die Methode FromArgb(). Sie lässt sich auf

verschiedene Arten aufrufen. Eine dieser Arten erwartet genau drei

Parameter, nämlich die Werte für Rot, Grün und Blau, jeweils zwischen 0

und 255.

Das Formular sieht nach der Änderung der Eigenschaft Farbe aus wie in

Abbildung 1.21, wobei sich die Farbänderung bei der Schwarz-Weiß-Darstel-

lung im gedruckten Buch leider nicht gut wiedergeben lässt.

Abbildung 1.21 Nach Änderung der Eigenschaft »Farbe«

7115.book Seite 39 Montag, 6. Mai 2019 2:41 14

Page 14: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

40

Kapitel 2

Grundlagen

In diesem Kapitel erlernen Sie auf anschauliche Weise die Sprachgrund-

lagen von Visual Basic in Verbindung mit den gängigen Steuerelementen

von Windows-Programmen.

In den folgenden Abschnitten lernen Sie wichtige Elemente der Program-

mierung, wie Variablen, Operatoren, Verzweigungen und Schleifen, ge-

meinsam mit wohlbekannten und häufig verwendeten Steuerelementen

kennen.

2.1 Variablen und Datentypen

Variablen dienen zur vorübergehenden Speicherung von Daten, die sich

zur Laufzeit eines Programms ändern können. Eine Variable besitzt einen

eindeutigen Namen, mit dem sie angesprochen werden kann.

2.1.1 Namen und Werte

Namensregeln Für die Namen von Variablen gelten in Visual Basic die folgenden Regeln:

� Sie beginnen mit einem Buchstaben.

� Sie können nur aus Buchstaben, Zahlen und einigen wenigen Sonderzei-

chen (z. B. dem Unterstrich) bestehen.

Sie dürfen Umlaute oder auch das scharfe S (auch Eszett genannt) enthal-

ten. Allerdings kann das zu Fehlern im Einsatz unter anderssprachigen

Umgebungen führen. Daher rate ich davon ab.

� Innerhalb eines Gültigkeitsbereichs darf es keine zwei Variablen mit

dem gleichen Namen geben (siehe Abschnitt 2.1.4).

Variablen erhalten ihre Werte durch Zuweisung per Gleichheitszeichen.

Falls eine Variable als Erstes auf der rechten Seite des Gleichheitszeichens

7115.book Seite 40 Montag, 6. Mai 2019 2:41 14

2.1 Variablen und Datentypen

41

2

genutzt wird, sollte ihr vorher ein Wert zugewiesen werden. Dadurch wer-

den Programme eindeutiger, lesbarer und fehlerfreier.

2.1.2 Deklarationen

Neben dem Namen besitzt jede Variable einen Datentyp, der die Art der

Information bestimmt, die gespeichert werden kann. Sie als Entwickler

wählen den Datentyp danach aus, ob Sie Text, Zahlen ohne Nachkom-

mastellen, Zahlen mit Nachkommastellen oder z. B. logische Werte spei-

chern möchten.

Auswahl des

Datentyps

Außerdem müssen Sie sich noch Gedanken über die Größe des Bereichs

machen, den die Zahl oder der Text annehmen könnte, und über die

gewünschte Genauigkeit bei Zahlen. In Abschnitt 2.1.3 finden Sie eine Liste

der Datentypen.

Variablen sollten in Visual Basic immer mit einem Datentyp deklariert wer-

den. Das beugt Fehlern vor, die aufgrund einer falschen Verwendung der

Variablen entstehen könnten.

2.1.3 Datentypen

Die wichtigsten von Visual Basic unterstützten Datentypen lassen sich in

einige große Gruppen unterteilen:

Es gibt Datentypen zur Speicherung von ganzen Zahlen:

� den Datentyp Byte mit Werten von 0 bis 255

� den Datentyp Short mit Werten von –32.768 bis 32.767

Integer� den Datentyp Integer mit Werten von –2.147.483.648 bis 2.147.483.647

� den Datentyp Long mit Werten von –9.223.372.036.854.775.808 bis

9.223.372.036.854.775.807

Außerdem gibt es Datentypen zur Speicherung von Zahlen mit Nachkom-

mastellen:

� den Datentyp Single mit einfacher Genauigkeit und Werten von ca.

–3,4×1038 bis ca. 3,4×1038

Double� den Datentyp Double mit doppelter Genauigkeit und Werten von ca.

–1,7×10308 bis ca. 1,7×10308

� den Datentyp Decimal mit variabler Genauigkeit und Werten von ca.

–7,9×1028 bis ca. 7,9×1028

7115.book Seite 41 Montag, 6. Mai 2019 2:41 14

Page 15: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

42

Einige weitere nützliche Datentypen sind:

� der Datentyp Boolean mit den Werten True oder False (wahr oder falsch)

Date � der Datentyp Date mit Werten für Datumsangaben vom 1. Januar des

Jahres 1 bis zum 31. Dezember 9999

� der Datentyp Char für einzelne Zeichen

String � der Datentyp String für Zeichenketten mit variabler Länge

Im folgenden Beispiel werden Variablen dieser Typen deklariert, mit Wer-

ten versehen und in einem Label angezeigt (Projekt Datentypen).

Public Class Form1Private Sub CmdAnzeige_Click(...) Handles ...

' Ganze ZahlenDim By As ByteDim Sh As ShortDim It As IntegerDim Lg As Long

' Andere ZahlensystemeDim Bn As LongDim Hx As LongDim Ot As Long

' Zahlen mit NachkommastellenDim Sg As SingleDim Db As DoubleDim Dm As Decimal

' Boolesche Variable, Datum, Zeichen, ZeichenketteDim Bo As BooleanDim Dt As DateDim Ch As CharDim St As String

' Ganze ZahlenBy = 200Sh = 30_000It = 2_000_000_000Lg = 3_000_000_000

7115.book Seite 42 Montag, 6. Mai 2019 2:41 14

2.1 Variablen und Datentypen

43

2

' Andere ZahlensystemeBn = &B1100Hx = &H3F0Ot = &O37

' Zahlen mit NachkommastellenSg = 1 / 7Db = 1 / 7Dm = 1D / 7

' Boolesche Variable, Datum, Zeichen, ZeichenketteBo = TrueDt = "15.07.2019"Ch = "a"St = "Zeichenkette"

LblAnzeige.Text ="Byte: " & By & vbCrLf &"Short: " & Sh & vbCrLf &"Integer: " & It & vbCrLf &"Long: " & Lg & vbCrLf & vbCrLf &"Binär: " & Bn & vbCrLf &"Hexadezimal: " & Hx & vbCrLf &"Oktal: " & Ot & vbCrLf & vbCrLf &"Single: " & Sg & vbCrLf &"Double: " & Db & vbCrLf &"Decimal: " & Dm & vbCrLf & vbCrLf &"Boolean: " & Bo & vbCrLf &"Date: " & Dt & vbCrLf &"Char: " & Ch & vbCrLf &"String: " & St

End SubEnd Class

Listing 2.1 Projekt »Datentypen«

Das Programm hat nach Betätigung des Buttons die Ausgabe wie in Abbil-

dung 2.1 dargestellt.

7115.book Seite 43 Montag, 6. Mai 2019 2:41 14

Page 16: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

44

Abbildung 2.1 Variablen und Datentypen

Zur Erläuterung:

Dim … As… � Variablen werden mit Dim ... As ... deklariert. Mehrere Variablen des-

selben Datentyps können, durch Kommata getrennt, innerhalb einer

Zeile deklariert werden (z. B. Dim x, y As Integer).

� Variablen können bereits bei der Deklaration einen Wert erhalten, z. B.:

Dim Sh As Short = 30000.

� Bei den Datentypen für ganze Zahlen führt die Zuweisung einer zu gro-

ßen Zahl zu einer Fehlermeldung.

Genauigkeit � Die Datentypen für Zahlen mit Nachkommastellen unterscheiden sich

in ihrer Genauigkeit. Nachkommastellen müssen im Programmcode

durch einen Dezimalpunkt abgetrennt werden. In der Ausgabe erscheint

dagegen ein Dezimalkomma. Die Zuweisung einer zu großen oder zu

kleinen Zahl führt zur Anzeige von »Unendlich« bzw. zu einer unge-

nauen Speicherung.

Exponential-

schreibweise

� Sehr große oder sehr kleine Zahlen lassen sich im Programmcode auch

in der Exponentialschreibweise eingeben. Zwei Beispiele: 1.5e3 für

1500.0 oder 1.5e–3 für 0.0015. Beim Wechsel der Zeile während der Ein-

gabe im Editor von Visual Studio werden diese Zahlen unmittelbar in

Zahlen mit Nachkommastellen umgewandelt.

Zahlentrenn-

zeichen _

� Zur Verbesserung der Lesbarkeit von Zahlen mit vielen Ziffern kann seit

Visual Basic 2017 das Zahlentrennzeichen _ (Unterstrich) eingefügt wer-

den, z. B. als Tausender-Trennzeichen.

Zahlensysteme � Zur Eingabe von Zahlen können Sie seit Visual Basic 2017 auch das

binäre, das hexadezimale oder das oktale Zahlensystem nutzen. Die

7115.book Seite 44 Montag, 6. Mai 2019 2:41 14

2.1 Variablen und Datentypen

45

2

jeweilige Kennzeichnung der Zahlen und die Umrechnung in das nor-

malerweise verwendete dezimale Zahlensystem werden am Ende des

Abschnitts erläutert.

� Werte für Zeichen, Zeichenketten und Datumsvariablen müssen in dop-

pelten Anführungszeichen angegeben werden.

Date� Der Datentyp Date ist intern nur ein Alias, sprich: ein anderer Name für

die Struktur System.DateTime. Mehr dazu in Abschnitt 6.2.

� Die Datentypen Integer, Double, Boolean und String werden am häufigs-

ten eingesetzt.

Übung UDatentypen

Übung

»UDatentypen«

Schreiben Sie ein Programm, in dem Ihr Nachname, Vorname, Ihre Ad-

resse, Ihr Geburtsdatum und Ihr Alter jeweils in Variablen eines geeigneten

Datentyps gespeichert und anschließend wie in Abbildung 2.2 ausgegeben

werden.

Abbildung 2.2 Übung UDatentypen

Hinweis

Das dezimale Zahlensystem hat bekanntlich die Basis 10. Falls Sie eine

Zahl in einem anderen Zahlensystem eingeben möchten, müssen Sie die

passende Kennzeichnung, das sogenannte Präfix, voranstellen. Zur Um-

rechnung der Werte aus den anderen Zahlensystemen:

� Beim binären Zahlensystem (Präfix: &B) dient die Zahl 2 als Basis. Die

binäre Zahl &B1100 wird wie folgt umgerechnet: 1×23 + 1×22 + 0×21 +

0×20 = 8 + 4 + 0 + 0 = 12.

� Beim hexadezimalen Zahlensystem (Präfix: &H) wird die Zahl 16 als

Basis verwendet. Es gibt weitere Ziffern: A=10, B=11, C=12, D=13, E=14

und F=15. Die hexadezimale Zahl &H3F0 wird wie folgt umgerechnet:

3×162 + 15×161 + 0×160 = 768 + 240 + 0 = 1008.

� Das oktale Zahlensystem (Präfix: &O) hat die Basis 8. Die oktale Zahl

&O37 wird wie folgt umgerechnet: 3×81 + 7×80 = 24 + 7 = 31.

7115.book Seite 45 Montag, 6. Mai 2019 2:41 14

Page 17: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

46

2.1.4 Gültigkeitsbereich

Lokal Variablen, die innerhalb einer Prozedur vereinbart werden, haben ihre Gül-

tigkeit nur in der Prozedur. Außerhalb der Prozedur sind sowohl Name als

auch Wert unbekannt. Solche Variablen bezeichnet man auch als lokale

Variablen. Sobald die Prozedur abgearbeitet wurde, steht der Wert auch

nicht mehr zur Verfügung. Beim nächsten Aufruf derselben Prozedur wer-

den diese Variablen neu deklariert und erhalten neue Werte.

Static Anders verhält es sich mit statischen Variablen. Sie behalten ihren Wert,

solange das Programm läuft. Ein wiederholter Aufruf derselben Prozedur

kann auf den letzten gespeicherten Wert einer Variablen zugreifen. Eine

statische Variable vereinbaren Sie z. B. wie folgt: Static Sx As Integer.

Private, Dim Variablen, die außerhalb von Prozeduren vereinbart werden, sind inner-

halb der gesamten Klasse gültig, hier also innerhalb der Klasse des Formu-

lars. Ihr Wert kann in jeder Prozedur gesetzt oder abgerufen werden und

bleibt erhalten, solange das Formular im laufenden Programm existiert.

Sie können die Variablen sowohl mit dem Schlüsselwort Private als auch

mit dem Schlüsselwort Dim deklarieren. Sie sind außerhalb der Klasse nicht

gültig. Weitere Einzelheiten zu klassenweit gültigen Variablen finden Sie in

Kapitel 5.

Public Variablen, die mit dem Schlüsselwort Public vereinbart werden, sind

öffentlich. Damit sind sie auch außerhalb der jeweiligen Klasse gültig, also

z. B. in anderen Formularen. Mehr dazu ebenfalls in Kapitel 5.

Gibt es in einem Programmabschnitt mehrere Variablen mit dem gleichen

Namen, gelten folgende Regeln:

� Lokale Variablen mit gleichem Namen in der gleichen Prozedur sind

nicht zulässig.

Ausblenden � Eine klassenweit gültige Variable wird innerhalb einer Prozedur von

einer lokalen Variablen mit dem gleichen Namen ausgeblendet.

Im folgenden Beispiel werden Variablen unterschiedlicher Gültigkeitsbe-

reiche deklariert, an verschiedenen Stellen verändert und ausgegeben (Pro-

jekt Gueltigkeitsbereich).

Public Class Form1Private Mx As Integer

Private Sub CmdAnzeigen1_Click(...) Handles ...Static Sx As Integer

7115.book Seite 46 Montag, 6. Mai 2019 2:41 14

2.1 Variablen und Datentypen

47

2

Dim x As IntegerSx += 1Mx += 1x += 1LblAnzeige.Text = "Sx:" & Sx & " x:" & x & " Mx:" & Mx

End Sub

Private Sub CmdAnzeigen2_Click(...) Handles ...Dim Mx As IntegerMx += 1LblAnzeige.Text = "Mx:" & Mx

End SubEnd Class

Listing 2.2 Projekt »Gueltigkeitsbereich«

Zur Erläuterung:

� In der ersten Prozedur wird der Wert der statischen Variablen Sx und der

klassenweit gültigen Variablen Mx bei jedem Aufruf um den Wert 1

erhöht. Die lokale Variable x wird dagegen jedes Mal von 0 auf 1 gesetzt

(siehe Abbildung 2.3). Zur Erhöhung um den Wert 1 wird jeweils der kom-

binierte Zuweisungsoperator += verwendet (siehe auch Abschnitt 2.2.5).

Abbildung 2.3 Lokale, statische und klassenweit gültige Variable

� In der zweiten Prozedur blendet die lokale Variable Mx die gleichnamige

klassenweit gültige Variable aus. Die lokale Variable wird jedes Mal von

0 auf 1 gesetzt (siehe Abbildung 2.4).

Abbildung 2.4 Lokale Variable

7115.book Seite 47 Montag, 6. Mai 2019 2:41 14

Page 18: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

48

Hinweis

Die Variablen werden hier vor ihrer ersten Benutzung nicht initialisiert, d. h.,

sie werden nicht mit einem Startwert besetzt. In Visual Basic haben Zah-

lenvariablen zwar automatisch den Startwert 0, trotzdem sollten Sie die Ini-

tialisierung im Sinne eines sauberen Programmierstils im Normalfall selbst

vornehmen.

Übung UGueltigkeitsbereich

Übung »UGueltig-

keitsbereich«

Erstellen Sie ein Programm, in dem zwei Buttons, ein Label und drei Varia-

blen eines geeigneten Datentyps eingesetzt werden:

� die klassenweit gültige Variable x

� die Variable y, die nur lokal in der Prozedur zum Click-Ereignis des ers-

ten Buttons gültig ist

� die Variable z, die nur lokal in der Prozedur zum Click-Ereignis des zwei-

ten Buttons gültig ist

In der ersten Prozedur werden x und y jeweils um 0,1 erhöht und angezeigt

(siehe Abbildung 2.5). In der zweiten Prozedur werden x und z jeweils um

0,1 erhöht und angezeigt (siehe Abbildung 2.6).

Abbildung 2.5 Ausgabe der ersten

Methode nach einigen Klicks

Abbildung 2.6 Ausgabe der zweiten

Methode nach weiteren Klicks

2.1.5 Konstanten

Konstanten

repräsentieren

Werte

Konstanten sind vordefinierte Werte, die während der Laufzeit nicht ver-

ändert werden können. Geben Sie Konstanten im Allgemeinen aussage-

kräftige Namen, dadurch sind sie leichter zu behalten als die Werte, die sie

repräsentieren. Konstanten werden an einer zentralen Stelle definiert und

können an verschiedenen Stellen des Programms genutzt werden. Somit

müssen Sie eine eventuelle Änderung einer Konstanten zur Entwurfszeit

nur an einer Stelle vornehmen. Der Gültigkeitsbereich von Konstanten ist

analog zum Gültigkeitsbereich von Variablen.

7115.book Seite 48 Montag, 6. Mai 2019 2:41 14

2.1 Variablen und Datentypen

49

2

Integrierte

Konstanten

Zu den Konstanten zählen auch die integrierten Konstanten, wie z. B.

vbCrLf. Auch sie repräsentieren Zahlen, die aber nicht so einprägsam sind

wie die Namen der Konstanten.

Im folgenden Beispiel werden mehrere Konstanten vereinbart und genutzt

(Projekt Konstanten).

Public Class Form1Private Const MaxWert = 75Private Const Eintrag = "Picture"

Private Sub CmdKonstanten_Click(...) Handles ...Const MaxWert = 55Const MinWert = 5LblAnzeige.Text = (MaxWert - MinWert) / 2 &

vbCrLf & EintragEnd Sub

End Class

Listing 2.3 Projekt »Konstanten«, Teil 1

Zur Erläuterung:

Const� Konstanten werden mithilfe des Schlüsselworts Const definiert.

� Die Konstanten MaxWert und Eintrag werden mit klassenweiter Gültig-

keit festgelegt.

� Innerhalb der Prozedur werden die beiden lokalen Konstanten MaxWert

und MinWert festgelegt. MaxWert blendet die klassenweit gültige Kons-

tante gleichen Namens aus, wie es in untenstehender Abbildung 2.7 zu

sehen ist. IntelliSense weist bereits darauf hin, dass die klassenweit gül-

tige Konstante nicht verwendet wird.

� Außerdem kommt noch die integrierte Konstante vbCrLf zum Einsatz.

Abbildung 2.7 Konstanten

7115.book Seite 49 Montag, 6. Mai 2019 2:41 14

Page 19: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

50

2.1.6 Enumerationen

Konstanten

aufzählen

Enumerationen sind Aufzählungen von Konstanten, die thematisch zu-

sammengehören. Alle Enumerationen haben den gleichen Datentyp, der

ganzzahlig sein muss. Bei der Deklaration werden ihnen Werte zugewiesen,

am besten explizit.

Innerhalb von Visual Basic gibt es zahlreiche vordefinierte Enumerationen.

Ähnlich wie bei den integrierten Konstanten sind die Namen der Enumera-

tionen und deren Elemente besser lesbar als die durch sie repräsentierten

Zahlen.

Ein Beispiel: Die Enumeration DialogResult ermöglicht es Ihnen als Pro-

grammierer, die zahlreichen möglichen Antworten des Benutzers beim

Einsatz von Windows-Standarddialogfeldern (Ja, Nein, Abbrechen, Wie-

derholen, Ignorieren …) anschaulich einzusetzen.

Im folgenden Programm wird mit einer eigenen und einer vordefinierten

Enumeration gearbeitet (ebenfalls im Projekt Konstanten).

Public Class Form1[...]

Private Enum Zahl As IntegerEins = 1Zwei = 2Drei = 3Vier = 4

End Enum[...]

Private Sub CmdEnumeration1_Click(...) Handles ...LblAnzeige.Text = Zahl.Zwei * Zahl.Drei

End Sub

Private Sub CmdEnumeration2_Click(...) Handles ...LblAnzeige.Text = "Sonntag: " & FirstDayOfWeek.Sunday &

", Samstag: " & FirstDayOfWeek.SaturdayEnd Sub

End Class

Listing 2.4 Projekt »Konstanten«, Teil 2

7115.book Seite 50 Montag, 6. Mai 2019 2:41 14

2.2 Operatoren

51

2

Zur Erläuterung:

Enum� Enumerationen werden mithilfe des Schlüsselworts Enum definiert.

� Es wird die Enumeration Zahl vom Datentyp Integer vereinbart. Da es

sich um einen Typ handelt und nicht um eine Variable oder Konstante,

muss sie außerhalb von Prozeduren vereinbart werden. Damit ist sie

automatisch für die gesamte Klasse gültig.

� In der ersten Ereignisprozedur werden zwei Elemente der eigenen Enu-

meration Zahl verwendet. Die beiden Zahlen, die sie repräsentieren, wer-

den miteinander multipliziert (siehe Abbildung 2.8).

Abbildung 2.8 Erste Enumeration

� In der zweiten Ereignisprozedur werden zwei Elemente der vordefinier-

ten Enumeration FirstDayOfWeek verwendet (siehe Abbildung 2.9). Sie

können sie zur Ermittlung des Wochentags eines gegebenen Datums

verwenden.

Abbildung 2.9 Zweite Enumeration

2.2 Operatoren

Zum Zusammensetzen von Ausdrücken nutzt Visual Basic, wie jede andere

Programmiersprache auch, Operatoren. In diesem Buch wurden bereits die

Operatoren = für Zuweisungen und & für Verkettungen verwendet.

PrioritätEs gibt verschiedene Kategorien von Operatoren. Vorrangregeln (Prioritä-

ten) sind für die Reihenfolge der Abarbeitung zuständig, falls mehrere Ope-

ratoren innerhalb eines Ausdrucks eingesetzt werden. Diese Vorrangregeln

sind weiter unten in diesem Abschnitt angegeben. Falls Sie sich bei der Ver-

7115.book Seite 51 Montag, 6. Mai 2019 2:41 14

Page 20: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

52

wendung dieser Regeln nicht sicher sind, empfiehlt es sich, durch eigene

Klammersetzung die Reihenfolge explizit festzulegen.

2.2.1 Rechenoperatoren

Rechenoperatoren Die Rechenoperatoren dienen zur Durchführung von Berechnungen (siehe

Tabelle 2.1).

Ganzzahldivision Die Ganzzahldivision erfolgt in zwei Schritten. Im ersten Schritt werden

Dividend und Divisor einzeln gerundet. Im zweiten Schritt werden die bei-

den verbliebenen Zahlen geteilt, anschließend werden die Ziffern nach

dem Komma abgeschnitten.

Tabelle 2.2 zeigt einige Beispiele.

Modulo Der Modulo-Operator Mod berechnet den Rest einer Division. Zwei Beispiele

sehen Sie in Tabelle 2.3.

Operator Beschreibung

+ Addition

- Subtraktion oder Negation

* Multiplikation

/ Division

\ Ganzzahldivision

^ Potenzierung

Mod Modulo

Tabelle 2.1 Rechenoperatoren

Ausdruck Ergebnis

19 / 4 4.75

19 \ 4 4

19 \ 4.6 3

19.5 \ 4.2 5

Tabelle 2.2 Ganzzahldivision

7115.book Seite 52 Montag, 6. Mai 2019 2:41 14

2.2 Operatoren

53

2

Zur Potenzierung einer Zahl dient der Operator ^ (hoch) (Beispiele siehe

Tabelle 2.4).

Multiplikation und Division innerhalb eines Ausdrucks sind gleichrangig

und werden von links nach rechts in der Reihenfolge ihres Auftretens aus-

gewertet. Dasselbe gilt für Addition und Subtraktion, die zusammen in

einem Ausdruck auftreten. Multiplikation und Division werden vor Addi-

tion und Subtraktion ausgeführt.

KlammernMit Klammern können Sie diese Rangfolge außer Kraft setzen, damit

bestimmte Teilausdrücke vor anderen Teilausdrücken ausgewertet werden.

In Klammern gesetzte Operationen haben grundsätzlich Vorrang. Inner-

halb der Klammern gilt jedoch die normale Rangfolge der Operatoren.

ProjektAlle Berechnungen innerhalb dieses Abschnitts können Sie auch mithilfe

des Codes im Projekt Rechenoperatoren nachvollziehen.

Übung URechenoperatoren

Übung »URechen-

operatoren«

Berechnen Sie die beiden folgenden Ausdrücke, speichern Sie das Ergebnis

in einer Variablen eines geeigneten Datentyps, und zeigen Sie es an:

� 1. Ausdruck: 3 * –2.5 + 4 * 2

� 2. Ausdruck: 3 * (-2.5 + 4) * 2

Ausdruck Ergebnis Erklärung

19 Mod 4 3 19 durch 4 ist 4 Rest 3

19.5 Mod 4.2 2.7 19,5 durch 4,2 ist 4 Rest 2,7

Tabelle 2.3 Modulo-Operator

Ausdruck Ergebnis

2 ^ 5 32

3 ^ 2 ^ 3 729

2 ^ 5.4 42.2242531447326

-2 ^ 5 –32

Tabelle 2.4 Potenzierung

7115.book Seite 53 Montag, 6. Mai 2019 2:41 14

Page 21: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

54

2.2.2 Vergleichsoperatoren

Vergleich Vergleichsoperatoren (siehe Tabelle 2.5) dienen dazu, festzustellen, ob be-

stimmte Bedingungen zutreffen oder nicht. Das Ergebnis lässt sich u. a. zur

Ablaufsteuerung von Programmen nutzen. Abschnitt 2.4 geht hierauf ge-

nauer ein.

Einige Beispiele sehen Sie in Tabelle 2.6.

Like Darüber hinaus gibt es noch den Operator Like, der zum Mustervergleich

dient. Dabei können Sie u. a. die Platzhalter * (eines oder mehrere Zeichen)

und ? (genau ein Zeichen) einsetzen. Tabelle 2.7 zeigt einige Beispiele.

Operator Beschreibung

< kleiner als

<= kleiner als oder gleich

> größer als

>= größer als oder gleich

= gleich

<> ungleich

Tabelle 2.5 Vergleichsoperatoren

Ausdruck Ergebnis

5 > 3 True

3 = 3.2 False

5 + 3 * 2 >= 12 False

Tabelle 2.6 Nutzung von Vergleichsoperatoren

Ausdruck Ergebnis

"abxba" Like "a*a" True

"abxba" Like "a?a" False

"aba" Like "a?a" True

"asdlfigc" Like "a?d?f*c" True

Tabelle 2.7 Mustervergleich

7115.book Seite 54 Montag, 6. Mai 2019 2:41 14

2.2 Operatoren

55

2

ProjektAlle Vergleiche innerhalb dieses Abschnitts können Sie auch mithilfe des

Codes im Projekt Vergleichsoperatoren nachvollziehen.

Übung UVergleichsoperatoren

Übung

»UVergleichs-

operatoren«

Ermitteln Sie das Ergebnis der beiden folgenden Ausdrücke, speichern Sie

es in einer Variablen eines geeigneten Datentyps, und zeigen Sie es an:

� 1. Ausdruck: 12 – 3 >= 4 * 2.5

� 2. Ausdruck: "Maier" Like "M??er"

2.2.3 Logische Operatoren

LogikLogische Operatoren dienen dazu, mehrere Bedingungen zusammenzufas-

sen. Das Ergebnis lässt sich ebenfalls u. a. zur Ablaufsteuerung von Pro-

grammen nutzen (siehe hierzu auch Abschnitt 2.4). Die logischen Opera-

toren sehen Sie in Tabelle 2.8.

Es seien die Variablen A = 1, B = 3 und C = 5 gesetzt. Die Ausdrücke in der ers-

ten Spalte von Tabelle 2.9 führen zu den Ergebnissen in der zweiten Spalte.

ProjektAlle Berechnungen innerhalb dieses Abschnitts können Sie auch mithilfe

des Codes im Projekt LogischeOperatoren nachvollziehen.

Operator Beschreibung Das Ergebnis ist True, wenn …

Not Nicht … der Ausdruck False ist.

And Und … beide Ausdrücke True sind.

Or Inklusives Oder … mindestens ein Ausdruck True ist.

Xor Exklusives Oder … genau ein Ausdruck True ist.

Tabelle 2.8 Logische Operatoren

Ausdruck Ergebnis

Not (A < B) False

(B > A) And (C > B) True

(B < A) Or (C < B) False

(B < A) Xor (C > B) True

Tabelle 2.9 Ausdrücke mit logischen Operatoren

7115.book Seite 55 Montag, 6. Mai 2019 2:41 14

Page 22: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

56

Übung ULogische-Operatoren

Übung »ULogische-

Operatoren«

Ermitteln Sie das Ergebnis der beiden folgenden Ausdrücke, speichern Sie

es in einer Variablen eines geeigneten Datentyps, und zeigen Sie es an:

� 1. Ausdruck: 4 > 3 And –4 > –3

� 2. Ausdruck: 4 > 3 Or –4 > –3

2.2.4 Verkettungsoperator

Umwandlung

in String

Der Operator & dient der Verkettung von Zeichenfolgen. Ist einer der Aus-

drücke keine Zeichenfolge, sondern eine Zahl oder Datumsangabe, wird er

in einen String umgewandelt. Das Gesamtergebnis ist wiederum eine Zei-

chenfolge. Beispiel:

Public Class Form1Private Sub CmdAnzeigen_Click(...) Handles ...

Dim gesamt As StringDim s As SingleDim i As IntegerDim d As Dates = 4.6i = -12d = "10.08.2019"gesamt = "Hallo " & s & " " & i & " " & dLblAnzeige.Text = gesamt

End SubEnd Class

Listing 2.5 Projekt »Verkettungsoperator«

Das Ergebnis ist in Abbildung 2.10 zu sehen.

Abbildung 2.10 Verkettung

2.2.5 Zuweisungsoperatoren

Zeichen = Der einfachste Zuweisungsoperator, das Gleichheitszeichen, wurde bereits

genutzt. Es gibt zur Verkürzung von Anweisungen noch einige weitere

7115.book Seite 56 Montag, 6. Mai 2019 2:41 14

2.2 Operatoren

57

2

Zuweisungsoperatoren (siehe Tabelle 2.10). Zuweisungen mit diesen Ope-

ratoren werden auch Verbundzuweisungen genannt.

2.2.6 Rangfolge der Operatoren

PrioritätEnthält ein Ausdruck mehrere Operationen, werden die einzelnen Teilaus-

drücke in einer bestimmten Rangfolge ausgewertet und aufgelöst, die als

Rangfolge bzw. Priorität der Operatoren bezeichnet wird. Es gilt die Rang-

folge in Tabelle 2.11.

Operator Beispiel Ergebnis

= x = 7 x erhält den Wert 7.

+= x += 5 Der Wert von x wird um 5 erhöht.

-= x -= 5 Der Wert von x wird um 5 verringert.

*= x *= 3 Der Wert von x wird auf das Dreifache erhöht.

/= x /= 3 Der Wert von x wird auf ein Drittel verringert.

\= x \= 3 Der Wert von x wird auf ein Drittel verringert.

Nachkommastellen werden abgeschnitten.

^= x ^= 3 Der Wert von x wird auf x hoch 3 erhöht.

&= z &= "abc" Die Zeichenkette z wird um den Text abc

verlängert.

Tabelle 2.10 Zuweisungsoperatoren

Operator Beschreibung

^ Exponentialoperator

- negatives Vorzeichen

*, / Multiplikation, Division

\ Ganzzahldivision

Mod Modulo

+, - Addition, Subtraktion

& Verkettung

Tabelle 2.11 Rangfolge der Operatoren

7115.book Seite 57 Montag, 6. Mai 2019 2:41 14

Page 23: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

58

Die Operatoren, die in der Tabelle weiter oben stehen, haben die höchste

Priorität.

Klammern Wie bereits bei den Rechenoperatoren erwähnt: Mit Klammern können Sie

diese Rangfolge außer Kraft setzen, damit bestimmte Teilausdrücke vor

anderen Teilausdrücken ausgewertet werden.

In Klammern gesetzte Operationen haben grundsätzlich Vorrang. Inner-

halb der Klammern gilt jedoch wieder die normale Rangfolge der Opera-

toren.

Übung UOperatoren

Übung

»UOperatoren«

Sind die Bedingungen in Tabelle 2.12 wahr oder falsch? Lösen Sie die Auf-

gabe möglichst ohne PC.

=, <>, <, >, <=, >=, Like Vergleichsoperatoren (Das Zeichen = steht für

den Vergleich, nicht für die Zuweisung.)

Not logisches Nicht

And logisches Und

Or logisches Oder

Operator Beschreibung

Tabelle 2.11 Rangfolge der Operatoren (Forts.)

Nr. Werte Bedingung

1 a=5 b=10 a>0 And b<>10

2 a=5 b=10 a>0 Or b<>10

3 z=10 w=100 z<>0 Or z>w Or w-z=90

4 z=10 w=100 z=11 And z>w Or w-z=90

5 x=1.0 y=5.7 x>=.9 And y<=5.8

6 x=1.0 y=5.7 x>=.9 And Not(y<=5.8)

7 n1=1 n2=17 n1>0 And n2>0 Or n1>n2 And n2<>17

8 n1=1 n2=17 n1>0 And (n2>0 Or n1>n2) And n2<>17

Tabelle 2.12 Übung UOperatoren

7115.book Seite 58 Montag, 6. Mai 2019 2:41 14

2.3 Einfache Steuerelemente

59

2

2.3 Einfache Steuerelemente

Windows-Programmierung mit Visual Basic besteht aus zwei Teilen: der

Arbeit mit visuellen Steuerelementen und der Programmierung mit der

Sprache. Beides soll in diesem Buch parallel vermittelt werden, damit die

eher theoretischen Abschnitte zur Programmiersprache durch eine an-

schauliche Praxis vertieft werden können.

Daher wird in diesem Abschnitt mit vier weiteren Steuerelementen gear-

beitet, bevor im nächsten Abschnitt die Verzweigungen zur Programmsteu-

erung vorgestellt werden: Panel, Zeitgeber, Textfeld und Zahlenauswahl-

feld.

2.3.1 Panel

ContainerEin Panel dient normalerweise als Container für andere Steuerelemente. In

diesem Abschnitt wird es zur visuellen Darstellung eines Rechtecks und für

eine kleine Animation genutzt.

Die Eigenschaften BackColor (Hintergrundfarbe), Location (Position) und

Size (Größe) sind bereits von anderen Steuerelementen bekannt.

Mithilfe des nachfolgenden Programms im Projekt Panel wird ein Panel

durch Betätigung von vier Buttons um 10 Pixel nach oben, unten, links

oder rechts verschoben. Es hat die Größe 100 × 100 Pixel, die Startposition

X=145 und Y=80 sowie eine eigene Hintergrundfarbe. Die Bewegung wird

mithilfe der Struktur Point durchgeführt.

In Abbildung 2.11 und Abbildung 2.12 ist das Panel im Startzustand bzw.

nach einigen Klicks zu sehen.

Abbildung 2.11 Panel, Startzustand

7115.book Seite 59 Montag, 6. Mai 2019 2:41 14

Page 24: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

60

Abbildung 2.12 Panel, nach Verschiebung

Der Programmcode:

Public Class Form1Private Sub CmdOben_Click(...) Handles ...

PanMove.Location = New Point(PanMove.Location.X,PanMove.Location.Y - 10)

End Sub

Private Sub CmdUnten_Click(...) Handles ...PanMove.Location = New Point(PanMove.Location.X,

PanMove.Location.Y + 10)End Sub

Private Sub CmdLinks_Click(...) Handles ...PanMove.Location = New Point(PanMove.Location.X - 10,

PanMove.Location.Y)End Sub

Private Sub CmdRechts_Click(...) Handles ...PanMove.Location = New Point(PanMove.Location.X + 10,

PanMove.Location.Y)End Sub

End Class

Listing 2.6 Projekt »Panel«

2.3.2 Zeitgeber

Timer Ein Zeitgeber (engl.: Timer) erzeugt in festgelegten Abständen Zeittakte.

Diese Zeittakte sind Ereignisse, die Sie als Entwickler mit Aktionen verbin-

den können. Das zugehörige Ereignis heißt Tick. Ein Zeitgeber kann wie

7115.book Seite 60 Montag, 6. Mai 2019 2:41 14

2.3 Einfache Steuerelemente

61

2

jedes andere Steuerelement zum Formular hinzugefügt werden. Da es sich

aber um ein nicht sichtbares Steuerelement handelt, wird er unterhalb des

Formulars angezeigt. Auch zur Laufzeit ist er nicht sichtbar.

IntervallSeine wichtigste Eigenschaft ist das Zeitintervall, in dem das Ereignis auf-

treten soll. Dieses Zeitintervall wird in Millisekunden angegeben.

EnabledDie Eigenschaft Enabled dient der Aktivierung bzw. Deaktivierung des Zeit-

gebers. Sie kann zur Entwicklungszeit oder zur Laufzeit auf True oder False

gestellt werden.

Im nachfolgenden Programm im Projekt Zeitgeber erscheint zunächst ein

Formular mit zwei Buttons. Betätigt man den Start-Button, erscheint ein x

in einem Bezeichnungsfeld. Alle 0,5 Sekunden erscheint automatisch ein

weiteres x (siehe Abbildung 2.13). Das wird durch den Timer gesteuert, bei

dem der Wert für die Eigenschaft Interval auf 500 gesetzt wird. Nach Betä-

tigung des Stop-Buttons kommt kein weiteres x hinzu.

Abbildung 2.13 Nach einigen Sekunden

Der zugehörige Code:

Public Class Form1Private Sub TimAnzeige_Tick(...) Handles TimAnzeige.Tick

LblAnzeige.Text &= "x"End Sub

Private Sub CmdStart_Click(...) Handles ...TimAnzeige.Enabled = True

End Sub

Private Sub CmdStop_Click(...) Handles ...TimAnzeige.Enabled = False

End SubEnd Class

Listing 2.7 Projekt »Zeitgeber«

7115.book Seite 61 Montag, 6. Mai 2019 2:41 14

Page 25: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

62

Übung UPanelZeitgeber

Übung

»UPanelZeitgeber«

Erstellen Sie eine Windows-Anwendung. In der Mitte eines Formulars sol-

len zu Beginn vier Panels verschiedener Farbe der Größe 20 × 20 Pixel plat-

ziert werden (siehe Abbildung 2.14).

Abbildung 2.14 Startzustand

Sobald der Start-Button betätigt wird, sollen sich diese vier Panels diagonal

in ca. fünf bis zehn Sekunden zu den Ecken des Formulars bewegen, jedes

Panel in eine andere Ecke (siehe Abbildung 2.15).

Abbildung 2.15 Nach einigen Sekunden

Übung UKran

Übung »UKran« Diese Übung gehört nicht zum Pflichtprogramm. Sie ist etwas umfangrei-

cher, verdeutlicht aber die Möglichkeiten einer schnellen Visualisierung

von Prozessen durch Visual Basic mit wenigen Programmzeilen.

Konstruieren Sie aus mehreren Panels einen Kran (Fundament, senkrech-

tes Hauptelement, waagerechter Ausleger, senkrechter Haken am Ausle-

ger). Der Benutzer soll die Möglichkeit haben, über insgesamt acht Buttons

die folgenden Aktionen auszulösen:

7115.book Seite 62 Montag, 6. Mai 2019 2:41 14

2.3 Einfache Steuerelemente

63

2

� Haken um 10 Pixel ausfahren bzw. einfahren

� Ausleger um 10 Pixel ausfahren bzw. einfahren

� Kran um 10 Pixel nach rechts bzw. links fahren

� Kran um 10 Pixel in der Höhe ausfahren bzw. einfahren

Denken Sie daran, dass bei vielen Bewegungen mehrere Steuerelemente

bewegt werden müssen, da der Kran sonst seinen Zusammenhalt verliert.

Manche Aktionen resultieren nur aus Größenveränderungen (Eigenschaf-

ten Width und Height), manche nur aus Ortsveränderungen (Location),

manche aus beidem. In Abbildung 2.16 und Abbildung 2.17 sehen Sie den

Kran im Startzustand bzw. nach einigen Klicks.

Es können natürlich immer noch widersprüchliche Bewegungen auftreten.

Mit weiter zunehmendem Programmierwissen können Sie diesen Proble-

men später noch abhelfen.

Abbildung 2.16 Startzustand

Abbildung 2.17 Nach einigen Aktionen

7115.book Seite 63 Montag, 6. Mai 2019 2:41 14

Page 26: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

64

2.3.3 Textfelder

Eingabefeld Ein Textfeld dient in erster Linie dazu, die Eingabe von Text oder Zahlen

vom Benutzer entgegenzunehmen. Diese Eingaben werden in der Eigen-

schaft Text des Textfelds gespeichert. Das Aussehen und das Verhalten

eines Textfelds werden u. a. durch folgende Eigenschaften gekennzeichnet:

� MultiLine: Steht MultiLine auf True, kann bei der Eingabe und bei der

Anzeige mit mehreren Textzeilen gearbeitet werden.

� ScrollBars: Ein Textfeld lässt sich mit vertikalen und/oder horizontalen

Bildlaufleisten zur Eingabe und Anzeige längerer Texte versehen.

� MaxLength: Mit dieser Eigenschaft lässt sich die Anzahl der Zeichen des

Textfelds beschränken. Ist keine Beschränkung vorgesehen, kann das

Textfeld 32K Zeichen aufnehmen.

Passwort � PasswordChar: Falls für diese Eigenschaft im Entwurfsmodus ein Platz-

halterzeichen eingegeben wird, wird während der Laufzeit für jedes ein-

gegebene Zeichen nur dieser Platzhalter angezeigt. Diese Eigenschaft

wird vor allem bei Passwortabfragen verwendet.

Der Inhalt eines Textfelds kann mit den gewohnten Mitteln (z. B. (Strg) +

(C) und (Strg) + (V)) in die Zwischenablage kopiert bzw. aus der Zwischen-

ablage eingefügt werden.

Falls Sie umfangreichere Möglichkeiten zur Formatierung benötigen, z. B.

zur Tief- oder Hochstellung einzelner Zeichen, empfehle ich das Steuerele-

ment RichTextBox (siehe Abschnitt 7.8). Im nachfolgenden Programm im

Projekt Textfelder kann der Benutzer in einem Textfeld einen Text einge-

ben. Nach Betätigung des Buttons Ausgabe wird der eingegebene Text in

einem zusammenhängenden Satz ausgegeben (siehe Abbildung 2.18).

Abbildung 2.18 Eingabe in Textfeld

7115.book Seite 64 Montag, 6. Mai 2019 2:41 14

2.3 Einfache Steuerelemente

65

2

Der Code lautet wie folgt:

Public Class Form1Private Sub CmdAusgabe_Click(...) Handles ...

LblAusgabe.Text = "Sie haben '" & TxtEingabe.Text &"' eingegeben"

End SubEnd Class

Listing 2.8 Projekt »Textfelder«

Zur Erläuterung:

� Die Eigenschaft Text des Textfelds speichert die Eingabe. Die Eigenschaft

wird in einen längeren Ausgabetext eingebettet.

Zahlen eingebenBei der Eingabe und Auswertung von Zahlen sind einige Besonderheiten zu

beachten. Im nachfolgenden Programm, ebenfalls im Projekt Textfelder,

kann der Benutzer in einem Textfeld eine Zahl eingeben. Nach Betätigung

des Buttons Rechnen wird der Wert dieser Zahl verdoppelt, das Ergebnis

wird in einem Label darunter ausgegeben.

Private Sub CmdRechnen1_Click(...) Handles ...LblAusgabe.Text = TxtEingabe.Text * 2

End Sub

Listing 2.9 Projekt »Textfelder«, Zahleneingabe

Zur Erläuterung:

� Falls eine Zeichenkette eingegeben wird, die eine Zahl darstellt, wird sie

implizit, d. h. automatisch, in eine Zahl umgewandelt, mit der gerechnet

werden kann.

� Stellt die eingegebene Zeichenkette keine Zahl dar, kommt es zu einem

Laufzeitfehler. Diese Situation sollten Sie natürlich vermeiden:

– Sie können vorher überprüfen, ob es sich bei der Zeichenkette um

eine gültige Zahl handelt und entsprechend reagieren. Das wird mög-

lich, sobald Sie Verzweigungen zur Programmsteuerung beherr-

schen.

Ausnahme-

behandlung

– Allgemein können Sie Programme so schreiben, dass ein Programm-

abbruch abgefangen werden kann. Das wird möglich, sobald Sie die

Ausnahmebehandlung (siehe hierzu Kapitel 3) beherrschen.

7115.book Seite 65 Montag, 6. Mai 2019 2:41 14

Page 27: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

66

Einige Beispiele:

Abbildung 2.19 zeigt die Eingabe einer Zahl mit Nachkommastellen.

Abbildung 2.19 Eingabe einer Zahl mit Nachkommastellen

Debuggen beenden Die Eingabe einer Zeichenkette, z. B. abc, führt zur Anzeige einer nicht

behandelten Ausnahme. Die Zeile, in der der Fehler auftritt, wird im Code

markiert, damit der Fehler beseitigt werden kann (siehe Abbildung 2.20).

Das Programm muss über den Menüpunkt Debuggen � Debuggen been-

den beendet werden, bevor es sich neu starten lässt.

Abbildung 2.20 Anzeige des Fehlers

Die Eingabe einer Zahl, bei der ein Punkt statt eines Kommas zur Abtren-

nung von Nachkommastellen eingegeben wird, führt zu einem ganz ande-

ren Rechenergebnis (siehe Abbildung 2.21). Der Punkt wird ignoriert, die

Zahl wird als 352 angesehen und führt so zu dem Ergebnis 704.

Abbildung 2.21 Punkt vor den Nachkommastellen

7115.book Seite 66 Montag, 6. Mai 2019 2:41 14

2.3 Einfache Steuerelemente

67

2

ToDouble()Sie sollten dafür sorgen, dass der Inhalt des Textfelds explizit in eine Zahl

(mit möglichen Nachkommastellen) umgewandelt wird. Das erreichen Sie

mithilfe der Methode ToDouble() aus der Klasse Convert. Die Klasse Convert

bietet eine Reihe von Methoden für die Umwandlung (= Konvertierung) in

andere Datentypen.

Private Sub CmdRechnen2_Click(...) Handles ...LblAusgabe.Text = Convert.ToDouble(TxtEingabe.Text) * 2

End Sub

Listing 2.10 Projekt »Textfelder«, Methode ToDouble()

Zur Erläuterung:

� Der eingegebene Text wird mit der Methode ToDouble() in eine Zahl

umgewandelt.

� Allerdings ist nach wie vor ein Programmabbruch bei falscher Eingabe

möglich.

2.3.4 Zahlenauswahlfeld

NumericUpDownDas Steuerelement Zahlenauswahlfeld (NumericUpDown) bietet eine andere

Möglichkeit, Zahlenwerte an ein Programm zu übermitteln. Die Zahlen-

werte können innerhalb selbst gewählter Grenzen und in selbst definierten

Schritten über zwei kleine Pfeiltasten ausgewählt werden. Sie können aber

auch weiterhin eingegeben werden (wie bei einem Textfeld).

Wichtige Eigenschaften des Steuerelements sind die folgenden:

Value� Value bezeichnet zur Entwicklungszeit den Startwert und zur Laufzeit

den vom Benutzer aktuell eingestellten Wert.

� Maximum, Minimum bestimmen den größtmöglichen Wert und den kleinst-

möglichen Wert der Eigenschaft Value. Es handelt sich also um die

Werte, die durch die Auswahl mit den Pfeiltasten ganz oben und ganz

unten erreicht werden können.

� Increment stellt die Schrittweite ein, mit der sich der Wert (Eigenschaft

Value) ändert, wenn der Benutzer eine der kleinen Pfeiltasten betätigt.

� DecimalPlaces bestimmt die Anzahl der Nachkommastellen in der

Anzeige des Zahlenauswahlfelds.

7115.book Seite 67 Montag, 6. Mai 2019 2:41 14

Page 28: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

2 Grundlagen

68

ValueChanged Das wichtigste Ereignis dieses Steuerelements ist ValueChanged. Es tritt bei

der Veränderung der Eigenschaft Value ein und sollte anschließend zur

Programmsteuerung verwendet werden.

Im nachfolgenden Programm im Projekt ZahlenAufAb werden alle diese

Eigenschaften und das genannte Ereignis genutzt. Der Benutzer kann Zah-

lenwerte zwischen –5,0 und +5,0 in Schritten von 0,1 über ein Zahlenaus-

wahlfeld einstellen. Der ausgewählte Wert wird unmittelbar in einem Label

angezeigt (siehe Abbildung 2.22).

Abbildung 2.22 Zahlenauswahlfeld

Die Eigenschaften werden zur Entwicklungszeit wie folgt eingestellt:

� Value: Wert 2, die Anwendung startet bei dem Wert 2,0 für das Zahlen-

auswahlfeld

� Maximum, Minimum: Werte –5 und +5

� Increment: Wert 0,1

� DecimalPlaces: Wert 1, zur Anzeige einer einzelnen Nachkommastelle

Der Code lautet:

Public Class Form1Private Sub NumEingabe_ValueChanged(...) Handles _

NumEingabe.ValueChangedLblAusgabe.Text = NumEingabe.Value

End Sub End Class

Listing 2.11 Projekt »ZahlenAufAb«

7115.book Seite 68 Montag, 6. Mai 2019 2:41 14

Page 29: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

524

Anhang B

Lösungen der Übungsaufgaben

Die Bearbeitung der Beispiele, das Verständnis für ihren Aufbau sowie das

selbstständige Lösen der Übungen sind ein wichtiger Schritt beim Erlernen

der Programmierung. In diesem Abschnitt finden Sie jeweils eine Lösungs-

möglichkeit zu jeder Übung. Lassen Sie sich nicht irritieren, wenn Ihre

Lösung anders aussieht. Es ist in erster Linie wichtig, dass das Ergebnis

stimmt. Vielleicht bietet Ihnen die hier vorliegende Lösung aber auch

einen Denkanstoß zur Verbesserung.

B.1 Lösung der Übungsaufgabe aus Kapitel 1

B.1.1 Lösung UName

Public Class Form1Private Sub CmdMyName_Click(sender As Object,

e As EventArgs) Handles CmdMyName.ClickLblMyName.Text = "Bodo Basic"

End Sub

Private Sub CmdEnde_Click(sender As Object,e As EventArgs) Handles CmdEnde.Click

Close()End Sub

End Class

B.2 Lösungen der Übungsaufgaben aus Kapitel 2

B.2.1 Lösung UDatentypen

Public Class Form1Private Sub CmdAnzeigen_Click(...) Handles ...

Dim nachname, vorname As StringDim strasse, plz, ort As String

7115.book Seite 524 Montag, 6. Mai 2019 2:41 14

B.2 Lösungen der Übungsaufgaben aus Kapitel 2

525

Dim alter As IntegerDim geburtsdatum As Date

nachname = "Basic"vorname = "Bodo"strasse = "Bergstraße 34"plz = "09445"ort = "Brunnstadt"alter = 31geburtsdatum = "18.05.1988"

LblAnzeige.Text = "Adresse: " & vbCrLf & vorname & " " &nachname & vbCrLf & strasse & vbCrLf & plz & " " &ort & vbCrLf & vbCrLf & "geb.: " & geburtsdatum &vbCrLf & "Alter: " & alter

End SubEnd Class

B.2.2 Lösung UGueltigkeitsbereich

Public Class Form1Private x As Double

Private Sub CmdAnzeigen1_Click(...) Handles ...Dim y As Doubley += 0.1x += 0.1LblAnzeige.Text = "x: " & x & vbCrLf & "y: " & y

End Sub

Private Sub CmdAnzeigen2_Click(...) Handles ...Dim z As Doublez += 0.1x += 0.1LblAnzeige.Text = "x: " & x & vbCrLf & "z: " & z

End SubEnd Class

7115.book Seite 525 Montag, 6. Mai 2019 2:41 14

Page 30: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

B Lösungen der Übungsaufgaben

526

B.2.3 Lösung URechenoperatoren

Public Class Form1Private Sub CmdAnzeigen1_Click(...) Handles ...

Dim x As Doublex = 3 * -2.5 + 4 * 2LblAnzeige.Text = x

End Sub

Private Sub CmdAnzeigen2_Click(...) Handles ...Dim x As Doublex = 3 * (-2.5 + 4) * 2LblAnzeige.Text = x

End SubEnd Class

7115.book Seite 526 Montag, 6. Mai 2019 2:41 14

Page 31: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Auf einen Blick

Auf einen Blick

1 Einführung ............................................................................................. 17

2 Grundlagen ............................................................................................ 40

3 Fehlerbehandlung ............................................................................... 112

4 Erweiterte Grundlagen ...................................................................... 124

5 Objektorientierte Programmierung .............................................. 192

6 Wichtige Klassen in .NET ................................................................... 252

7 Weitere Elemente eines Windows-Programms ........................ 314

8 Datenbankanwendungen mit ADO.NET ...................................... 370

9 Internetanwendungen mit ASP.NET ............................................. 427

10 Zeichnen mit GDI+ .............................................................................. 453

11 Beispielprojekte ................................................................................... 468

12 Windows Presentation Foundation .............................................. 492

7115.book Seite 3 Montag, 6. Mai 2019 2:41 14

Page 32: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

5

Inhalt

Materialien zum Buch ................................................................................................... 16

1 Einführung 17

1.1 Aufbau dieses Buchs ................................................................................... 18

1.2 Mein erstes Windows-Programm ......................................................... 19

1.3 Visual Basic-Entwicklungsumgebung ................................................. 19

1.3.1 Ein neues Projekt ........................................................................ 19

1.3.2 Einfügen von Steuerelementen ............................................. 22

1.3.3 Arbeiten mit dem Eigenschaften-Fenster .......................... 23

1.3.4 Speichern eines Projekts .......................................................... 25

1.3.5 Das Codefenster .......................................................................... 25

1.3.6 Schreiben von Programmcode ............................................... 27

1.3.7 Kommentare ................................................................................ 29

1.3.8 Starten, Ausführen und Beenden des Programms .......... 29

1.3.9 Ausführbares Programm .......................................................... 30

1.3.10 Projekt schließen, Projekt öffnen .......................................... 30

1.3.11 Übung ............................................................................................. 31

1.3.12 Regeln für Zeilenumbrüche .................................................... 31

1.4 Arbeiten mit Steuerelementen .............................................................. 32

1.4.1 Steuerelemente formatieren .................................................. 32

1.4.2 Steuerelemente kopieren ........................................................ 34

1.4.3 Eigenschaften zur Laufzeit ändern ....................................... 34

1.4.4 Vergabe und Verwendung von Namen .............................. 37

1.4.5 Verknüpfung von Texten, mehrzeilige Texte .................... 37

1.4.6 Eigenschaft BackColor, Farben allgemein .......................... 38

2 Grundlagen 40

2.1 Variablen und Datentypen ....................................................................... 40

2.1.1 Namen und Werte ...................................................................... 40

2.1.2 Deklarationen .............................................................................. 41

7115.book Seite 5 Montag, 6. Mai 2019 2:41 14

Page 33: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

6

2.1.3 Datentypen .................................................................................. 41

2.1.4 Gültigkeitsbereich ..................................................................... 46

2.1.5 Konstanten ................................................................................... 48

2.1.6 Enumerationen ........................................................................... 50

2.2 Operatoren ...................................................................................................... 51

2.2.1 Rechenoperatoren ..................................................................... 52

2.2.2 Vergleichsoperatoren ............................................................... 54

2.2.3 Logische Operatoren ................................................................. 55

2.2.4 Verkettungsoperator ................................................................ 56

2.2.5 Zuweisungsoperatoren ............................................................ 56

2.2.6 Rangfolge der Operatoren ...................................................... 57

2.3 Einfache Steuerelemente ......................................................................... 59

2.3.1 Panel ............................................................................................... 59

2.3.2 Zeitgeber ....................................................................................... 60

2.3.3 Textfelder ..................................................................................... 64

2.3.4 Zahlenauswahlfeld .................................................................... 67

2.4 Verzweigungen ............................................................................................. 68

2.4.1 Einzeiliges If ... Then ... Else ..................................................... 69

2.4.2 If...Then...Else-Block ................................................................... 71

2.4.3 Select Case .................................................................................... 72

2.4.4 Funktion IIf ................................................................................... 74

2.4.5 Funktion Choose ........................................................................ 74

2.4.6 Übungen ....................................................................................... 75

2.5 Verzweigungen und Steuerelemente ................................................. 76

2.5.1 Kontrollkästchen ........................................................................ 76

2.5.2 Optionsschaltfläche .................................................................. 78

2.5.3 Mehrere Ereignisse in einer Prozedur behandeln ........... 81

2.5.4 Mehrere Gruppen von Optionsschaltflächen ................... 82

2.5.5 Prozedur ohne Ereignis, Modularisierung ......................... 85

2.5.6 Schieberegler ............................................................................... 87

2.6 Schleifen ........................................................................................................... 89

2.6.1 For ... Next ..................................................................................... 89

2.6.2 Do ... Loop ...................................................................................... 91

2.6.3 Ein Würfel ..................................................................................... 95

2.6.4 With ................................................................................................ 96

2.6.5 Übungen ....................................................................................... 97

7115.book Seite 6 Montag, 6. Mai 2019 2:41 14

Inhalt

7

2.7 Schleifen und Steuerelemente ............................................................... 99

2.7.1 Listenfeld ....................................................................................... 99

2.7.2 Listenfeld füllen .......................................................................... 100

2.7.3 Wichtige Eigenschaften ........................................................... 101

2.7.4 For Each … In … ............................................................................. 102

2.7.5 Wechsel der Auswahl ................................................................ 103

2.7.6 Wichtige Methoden ................................................................... 104

2.7.7 Mehrfachauswahl ...................................................................... 107

2.7.8 Kombinationsfelder ................................................................... 109

3 Fehlerbehandlung 112

3.1 Entwicklung eines Programms ............................................................... 112

3.2 Fehlerarten ...................................................................................................... 113

3.3 Syntaxfehler und IntelliSense ................................................................. 114

3.3.1 IntelliSense ................................................................................... 114

3.3.2 Syntaxfehler ................................................................................. 115

3.4 Laufzeitfehler und Exception Handling .............................................. 117

3.4.1 Programm mit Laufzeitfehlern .............................................. 117

3.4.2 Einfaches Exception Handling ............................................... 119

3.4.3 Erweitertes Exception Handling ............................................ 120

3.5 Logische Fehler und Debugging ............................................................. 121

3.5.1 Haltepunkte und Einzelschrittverfahren ............................ 122

3.5.2 Überwachungsfenster .............................................................. 123

4 Erweiterte Grundlagen 124

4.1 Steuerelemente aktivieren ...................................................................... 124

4.1.1 Ereignis Enter ............................................................................... 124

4.1.2 Eigenschaften Enabled und Visible ...................................... 127

4.2 Bedienung per Tastatur ............................................................................. 130

4.2.1 Eigenschaften TabIndex und TabStop ................................. 130

4.2.2 Tastenkombination für Steuerelemente ............................ 131

7115.book Seite 7 Montag, 6. Mai 2019 2:41 14

Page 34: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

8

4.3 Ereignisgesteuerte Programmierung .................................................. 132

4.3.1 Eine Ereigniskette ..................................................................... 132

4.3.2 Endlose Ereignisketten ............................................................. 133

4.3.3 Textfelder koppeln .................................................................... 134

4.3.4 Tastatur und Maus .................................................................... 136

4.4 Mehrere Formulare ..................................................................................... 138

4.4.1 Allgemeine Code-Module ....................................................... 142

4.5 Datenfelder ..................................................................................................... 144

4.5.1 Eindimensionale Datenfelder ................................................ 144

4.5.2 Ein Feld durchsuchen ................................................................ 146

4.5.3 Weitere Feld-Operationen ...................................................... 148

4.5.4 Mehrdimensionale Datenfelder ........................................... 150

4.5.5 Datenfelder initialisieren ........................................................ 154

4.5.6 Datenfelder sind dynamisch .................................................. 155

4.6 Prozeduren und Funktionen ................................................................... 158

4.6.1 Prozeduren ................................................................................... 159

4.6.2 Übergabe per Referenz ............................................................ 161

4.6.3 Funktionen ................................................................................... 164

4.6.4 Optionale Argumente .............................................................. 167

4.6.5 Benannte Argumente ............................................................... 168

4.6.6 Beliebig viele Argumente ........................................................ 170

4.6.7 Datenfelder als Argumente .................................................... 171

4.6.8 Rekursiver Aufruf ....................................................................... 173

4.6.9 Übungen zu Prozeduren und Funktionen ......................... 176

4.7 Tupel .................................................................................................................. 176

4.7.1 Implizit typisierte Variablen ................................................... 177

4.7.2 Unbenannte Tupel ..................................................................... 178

4.7.3 Benannte Tupel .......................................................................... 179

4.7.4 Implizite Namen und Vergleiche .......................................... 180

4.7.5 Tupel und Funktionen .............................................................. 182

4.8 Konsolenanwendung ................................................................................. 183

4.8.1 Anwendung erzeugen .............................................................. 184

4.8.2 Ein- und Ausgabe von Text ..................................................... 184

4.8.3 Eingabe einer Zahl ..................................................................... 186

4.8.4 Erfolgreiche Eingabe einer Zahl ............................................ 187

4.8.5 Ausgabe formatieren ................................................................ 188

4.8.6 Aufruf von der Kommandozeile ............................................ 189

7115.book Seite 8 Montag, 6. Mai 2019 2:41 14

Inhalt

9

5 Objektorientierte Programmierung 192

5.1 Was ist Objektorientierung? ................................................................... 192

5.2 Klasse, Eigenschaft, Methode, Objekt ................................................ 193

5.2.1 Objektverweis und Instanz ..................................................... 196

5.3 Eigenschaftsmethode ................................................................................. 198

5.4 Konstruktor ..................................................................................................... 200

5.5 Namensräume ............................................................................................... 203

5.6 Referenzen, Vergleiche und Typen ....................................................... 205

5.6.1 Referenzen .................................................................................... 205

5.6.2 Operator Is .................................................................................... 206

5.6.3 Objekte vergleichen ................................................................... 208

5.6.4 Typ eines Objekts ermitteln .................................................... 209

5.6.5 Typ eines Objekts durch Vergleich ermitteln .................... 210

5.6.6 Name ermitteln ........................................................................... 211

5.7 Delegates ......................................................................................................... 212

5.8 Statische Elemente ...................................................................................... 214

5.9 Vererbung ........................................................................................................ 217

5.10 Konstruktoren bei Vererbung ................................................................. 222

5.11 Polymorphie .................................................................................................... 224

5.12 Schnittstellen ................................................................................................. 228

5.13 Strukturen ........................................................................................................ 231

5.14 Generische Typen ......................................................................................... 235

5.14.1 Eine Liste von Zeichenketten .................................................. 236

5.14.2 Eine Liste von Objekten ............................................................ 239

5.14.3 Ein Dictionary von Objekten ................................................... 242

5.15 Erweiterungsmethoden ............................................................................. 246

5.16 Eigene Klassenbibliotheken ..................................................................... 249

5.16.1 DLL erstellen ................................................................................. 249

5.16.2 DLL nutzen .................................................................................... 250

7115.book Seite 9 Montag, 6. Mai 2019 2:41 14

Page 35: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

10

6 Wichtige Klassen in .NET 252

6.1 Klasse String für Zeichenketten ............................................................ 252

6.1.1 Eigenschaften der Klasse String ............................................ 253

6.1.2 Trimmen ....................................................................................... 255

6.1.3 Splitten .......................................................................................... 256

6.1.4 Suchen ........................................................................................... 258

6.1.5 Einfügen ........................................................................................ 261

6.1.6 Löschen .......................................................................................... 262

6.1.7 Teilzeichenkette ermitteln ...................................................... 264

6.1.8 Zeichen ersetzen ........................................................................ 266

6.1.9 Ausgabe formatieren ................................................................ 267

6.2 Datum und Uhrzeit ..................................................................................... 269

6.2.1 Eigenschaften der Struktur DateTime ................................ 269

6.2.2 Rechnen mit Datum und Uhrzeit ......................................... 271

6.2.3 DateTimePicker ........................................................................... 274

6.3 Dateien und Verzeichnisse ...................................................................... 277

6.3.1 Lesen aus einer Textdatei ........................................................ 277

6.3.2 Schreiben in eine Textdatei .................................................... 279

6.3.3 Sicheres Lesen aus einer Textdatei ...................................... 281

6.3.4 Sicheres Schreiben in eine Textdatei ................................... 284

6.3.5 Datei mit wahlfreiem Zugriff ................................................. 285

6.3.6 Die Klassen File und Directory ............................................... 292

6.3.7 Das aktuelle Verzeichnis .......................................................... 293

6.3.8 Eine Liste der Dateien ............................................................... 294

6.3.9 Eine Liste der Dateien und Verzeichnisse .......................... 295

6.3.10 Informationen über Dateien und Verzeichnisse ............. 296

6.3.11 Bewegen in der Verzeichnishierarchie ............................... 297

6.4 XML-Dateien .................................................................................................. 299

6.4.1 Aufbau von XML-Dateien ........................................................ 299

6.4.2 Schreiben in eine XML-Datei .................................................. 300

6.4.3 Lesen aus einer XML-Datei ...................................................... 302

6.4.4 Schreiben von Objekten ........................................................... 304

6.4.5 Lesen von Objekten ................................................................... 306

6.5 Rechnen mit der Klasse Math ................................................................. 307

7115.book Seite 10 Montag, 6. Mai 2019 2:41 14

Inhalt

11

7 Weitere Elemente eines Windows-Programms 314

7.1 Hauptmenü ..................................................................................................... 314

7.1.1 Erstellung des Hauptmenüs ................................................... 314

7.1.2 Code des Hauptmenüs ............................................................. 316

7.1.3 Klasse Font .................................................................................... 319

7.1.4 Schriftart ........................................................................................ 319

7.1.5 Schriftgröße .................................................................................. 321

7.1.6 Schriftstil ....................................................................................... 322

7.2 Kontextmenü ................................................................................................. 323

7.2.1 Erstellung des Kontextmenüs ................................................ 323

7.2.2 Code des Kontextmenüs .......................................................... 324

7.3 Symbolleiste ................................................................................................... 326

7.3.1 Erstellung der Symbolleiste .................................................... 326

7.3.2 Code der Symbolleiste .............................................................. 327

7.4 Statusleiste ...................................................................................................... 329

7.4.1 Erstellung der Statusleiste ...................................................... 329

7.4.2 Code der Statusleiste ................................................................ 330

7.5 Eingabe-Dialogfeld ...................................................................................... 332

7.6 Ausgabe-Dialogfeld ..................................................................................... 335

7.6.1 OK-Button ..................................................................................... 335

7.6.2 Info-Zeichen ................................................................................. 336

7.6.3 Ja und Nein ................................................................................... 337

7.6.4 Ja, Nein und Abbrechen ............................................................ 338

7.6.5 Wiederholen und Abbrechen ................................................. 339

7.6.6 Abbrechen, Wiederholen und Ignorieren ........................... 340

7.7 Standarddialogfelder .................................................................................. 341

7.7.1 Datei öffnen ................................................................................. 341

7.7.2 Datei speichern unter ............................................................... 344

7.7.3 Verzeichnis auswählen ............................................................. 345

7.7.4 Farbe auswählen ......................................................................... 347

7.7.5 Schrifteigenschaften auswählen .......................................... 348

7.8 Steuerelement RichTextBox .................................................................... 350

7.9 Steuerelement ListView ............................................................................ 352

7115.book Seite 11 Montag, 6. Mai 2019 2:41 14

Page 36: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

12

7.10 Steuerelement Chart .................................................................................. 356

7.11 Steuerelement DataGridView ................................................................ 360

7.12 Lokalisierung .................................................................................................. 365

8 Datenbankanwendungen mit ADO.NET 370

8.1 Was sind relationale Datenbanken? ................................................... 370

8.1.1 Beispiel Lager ............................................................................... 371

8.1.2 Indizes ............................................................................................ 374

8.1.3 Relationen .................................................................................... 375

8.1.4 Übungen ....................................................................................... 379

8.2 Anlegen einer Datenbank in MS Access ............................................. 380

8.2.1 Aufbau von MS Access ............................................................. 381

8.2.2 Datenbankentwurf in MS Access 2019 .............................. 382

8.2.3 Übungen ....................................................................................... 387

8.3 Datenbankzugriff mit Visual Basic ...................................................... 387

8.3.1 Beispiel-Datenbank ................................................................... 387

8.3.2 Ablauf eines Zugriffs ................................................................. 388

8.3.3 Verbindung .................................................................................. 389

8.3.4 SQL-Befehl .................................................................................... 389

8.3.5 OleDb ............................................................................................. 389

8.3.6 Auswahlabfrage ......................................................................... 390

8.3.7 Aktionsabfrage ........................................................................... 393

8.4 SQL-Befehle .................................................................................................... 394

8.4.1 Auswahl mit SELECT .................................................................. 395

8.4.2 Ändern mit »UPDATE« ............................................................. 399

8.4.3 Löschen mit »DELETE« .............................................................. 400

8.4.4 Einfügen mit »INSERT« ............................................................ 400

8.4.5 Typische Fehler in SQL .............................................................. 401

8.5 Ein Verwaltungsprogramm ..................................................................... 402

8.5.1 Initialisierung .............................................................................. 403

8.5.2 Alle Datensätze sehen .............................................................. 403

8.5.3 Datensatz einfügen ................................................................... 406

8.5.4 Datensatz ändern ...................................................................... 407

8.5.5 Datensatz löschen ..................................................................... 410

8.5.6 Datensatz suchen ...................................................................... 412

7115.book Seite 12 Montag, 6. Mai 2019 2:41 14

Inhalt

13

8.6 Abfragen über mehrere Tabellen .......................................................... 414

8.6.1 Datenbankmodell und Tabellen ............................................ 414

8.6.2 Alle Personen ............................................................................... 415

8.6.3 Anzahl der Kunden ..................................................................... 416

8.6.4 Alle Kunden mit allen Projekten ............................................ 416

8.6.5 Alle Personen mit allen Projektzeiten .................................. 417

8.6.6 Alle Personen mit Zeitsumme ................................................ 418

8.6.7 Alle Projekte mit allen Personenzeiten ............................... 419

8.6.8 Alle Projekte mit Zeitsumme .................................................. 419

8.6.9 JOIN oder WHERE ....................................................................... 420

8.7 Verbindung zu MySQL ................................................................................ 420

8.7.1 .NET-Treiber .................................................................................. 421

8.7.2 Zugriff auf die Datenbank ....................................................... 421

8.8 Verbindung zu SQLite ................................................................................. 422

8.8.1 Eigenschaften von SQLite ........................................................ 422

8.8.2 Installation der SQLite-Bibliotheken .................................... 423

8.8.3 Erstellung der Datenbank ........................................................ 424

8.8.4 Zugriff auf die Daten ................................................................. 426

9 Internetanwendungen mit ASP.NET 427

9.1 Grundlagen von Internetanwendungen ............................................ 427

9.1.1 Statische Internetanwendungen .......................................... 427

9.1.2 Dynamische Internetanwendungen .................................... 428

9.1.3 Vorteile von ASP.NET ................................................................. 429

9.2 Ein lokaler Webserver ................................................................................. 429

9.2.1 Eine erste Internetanwendung .............................................. 429

9.3 Eine erste ASP.NET-Anwendung ............................................................ 432

9.3.1 Fehlerhafte Programmierung ................................................. 434

9.4 Formatierung von Internetseiten .......................................................... 435

9.5 Senden und Auswerten von Formulardaten .................................... 437

9.6 Weitere Formularelemente ..................................................................... 439

9.7 Ein Kalenderelement ................................................................................... 442

7115.book Seite 13 Montag, 6. Mai 2019 2:41 14

Page 37: Einstieg in Visual Basic 2019 – Ideal für Programmieranfänger · 17 Kapitel 1 1 Einführung In diesem Kapitel erlernen Sie anhand eines ersten Projekts den Umgang mit der Entwicklungsumgebung

Inhalt

14

9.8 ASP.NET und ADO.NET ............................................................................... 445

9.9 Datenbank im Internet ändern .............................................................. 447

10 Zeichnen mit GDI+ 453

10.1 Grundlagen von GDI+ ................................................................................ 453

10.2 Linie, Rechteck, Polygon und Ellipse zeichnen ................................ 453

10.2.1 Grundeinstellungen .................................................................. 454

10.2.2 Linie ................................................................................................ 455

10.2.3 Rechteck ........................................................................................ 456

10.2.4 Polygon .......................................................................................... 456

10.2.5 Ellipse ............................................................................................. 457

10.2.6 Dicke und Farbe ändern, Zeichnung löschen .................... 458

10.3 Text schreiben ............................................................................................... 458

10.4 Bilder darstellen ........................................................................................... 461

10.5 Dauerhaft zeichnen .................................................................................... 463

10.6 Zeichnen einer Funktion ........................................................................... 464

11 Beispielprojekte 468

11.1 Spielprogramm Tetris ................................................................................ 468

11.1.1 Spielablauf ................................................................................... 468

11.1.2 Programmbeschreibung .......................................................... 469

11.1.3 Steuerelemente .......................................................................... 470

11.1.4 Initialisierung des Programms .............................................. 471

11.1.5 Erzeugen eines neuen Panels ................................................ 473

11.1.6 Der Zeitgeber ............................................................................... 474

11.1.7 Panel löschen ............................................................................... 475

11.1.8 Panel seitlich bewegen ............................................................ 479

11.1.9 Panel nach unten bewegen .................................................... 479

11.1.10 Pause .............................................................................................. 480

11.2 Lernprogramm Vokabeln ......................................................................... 480

11.2.1 Benutzung des Programms .................................................... 481

11.2.2 Erweiterung des Programms ................................................. 483

7115.book Seite 14 Montag, 6. Mai 2019 2:41 14

Inhalt

15

11.2.3 Initialisierung des Programms ............................................... 483

11.2.4 Ein Test beginnt .......................................................................... 484

11.2.5 Zwei Hilfsprozeduren ................................................................ 486

11.2.6 Die Antwort prüfen .................................................................... 487

11.2.7 Das Benutzermenü .................................................................... 488

12 Windows Presentation Foundation 492

12.1 Layout ................................................................................................................ 493

12.2 Steuerelemente ............................................................................................. 496

12.3 Frame-Anwendung ...................................................................................... 499

12.4 Zweidimensionale Grafik .......................................................................... 502

12.5 Dreidimensionale Grafik ........................................................................... 505

12.6 Animation ........................................................................................................ 509

12.7 WPF und Windows Forms ......................................................................... 512

Anhang 516

A Installation und technische Hinweise ................................................. 516

A.1 Installation von Visual Studio Community 2019 ............. 516

A.2 Arbeiten mit einer Formularvorlage .................................... 518

A.3 Arbeiten mit einer Projektvorlage ......................................... 519

A.4 Weitergabe eigener Windows-Programme ....................... 520

A.5 Konfigurationsdaten ................................................................. 521

B Lösungen der Übungsaufgaben ............................................................. 524

B.1 Lösung der Übungsaufgabe aus Kapitel 1 ......................... 524

B.2 Lösungen der Übungsaufgaben aus Kapitel 2 .................. 524

B.3 Lösungen der Übungsaufgaben aus Kapitel 4 .................. 538

B.4 Lösungen der Übungsaufgaben aus Kapitel 8 .................. 542

Index .................................................................................................................................... 543

7115.book Seite 15 Montag, 6. Mai 2019 2:41 14