Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Materialien zum Buch
18
1 Einführung
19
1.1 Visual Basic .NET, ein moderner Klassiker
19
1.2 Visual Basic .NET und Visual Studio
20
1.3 Aufbau dieses Buchs
21
1.4 Visual Studio 2022
21
1.5 Mein erstes Windows-Programm
22
1.6 Visual-Studio-Entwicklungsumgebung
22
1.6.1 Ein neues Projekt
22
1.6.2 Einfügen von Steuerelementen
26
1.6.3 Arbeiten mit dem »Eigenschaften«-Fenster
27
1.6.4 Speichern eines Projekts
30
1.6.5 Das Codefenster
30
1.6.6 Schreiben von Programmcode
32
1.6.7 Kommentare
33
1.6.8 Starten, Ausführen und Beenden des Programms
34
1.6.9 Ausführbares Programm
34
1.6.10 Schließen und Öffnen eines Projekts
35
1.6.11 Übung »UName«
35
1.7 Ausgaben
36
1.7.1 Methode »ToString()«
36
1.7.2 String-Interpolation
37
1.7.3 Zeilenumbrüche
38
1.7.4 Dialogfeld für Ausgabe
39
1.7.5 Fehler behandeln
40
1.8 Arbeiten mit Steuerelementen
41
1.8.1 Steuerelemente formatieren
41
1.8.2 Steuerelemente kopieren
43
1.8.3 Eigenschaften zur Laufzeit ändern
43
1.8.4 Ausgabe von Eigenschaften
45
1.8.5 Farben und die Struktur »Color«
46
2 Grundlagen
49
2.1 Variablen und Datentypen
49
2.1.1 Namen und Werte
49
2.1.2 Datentypen
50
2.1.3 Gültigkeitsbereich
54
2.1.4 Konstanten
57
2.1.5 Enumerationen
58
2.2 Operatoren
60
2.2.1 Rechenoperatoren
60
2.2.2 Vergleichsoperatoren
62
2.2.3 Logische Operatoren
64
2.2.4 Zuweisungsoperatoren
65
2.2.5 Rangfolge der Operatoren
65
2.3 Einfache Steuerelemente
67
2.3.1 Steuerelement »Panel«
67
2.3.2 Steuerelement »Timer«
68
2.3.3 Steuerelement »TextBox«
71
2.3.4 Steuerelement »NumericUpDown«
74
2.4 Verzweigungen mit »If« und »IIf()«
75
2.4.1 Einzeiliges »If«
76
2.4.2 Block-»If«
78
2.4.3 Mehrfache Verzweigung mit »ElseIf«
80
2.4.4 Verzweigung mit der Funktion »IIf()«
81
2.4.5 Logischer Und-Operator »And«
83
2.4.6 Logischer Oder-Operator »Or«
84
2.4.7 Logischer Exklusiv-Oder-Operator »Xor«
84
2.5 Verzweigungen mit »Select« und »Case«
85
2.6 Verzweigungen und Steuerelemente
88
2.6.1 Steuerelement »CheckBox«
88
2.6.2 Steuerelement »RadioButton«
90
2.6.3 Gemeinsame Methode für mehrere Ereignisse
91
2.6.4 Steuerelement »GroupBox«
92
2.6.5 Methoden allgemein, Modularisierung
95
2.6.6 Steuerelement »TrackBar«
96
2.7 Schleifen
97
2.7.1 Schleife mit »For … To … Next«
97
2.7.2 Schleife mit »Do … Loop«
100
2.7.3 Objektbezug mit »With«
103
2.7.4 Übungen
104
2.8 Schleifen und Steuerelemente
106
2.8.1 Steuerelement »ListBox«
106
2.8.2 ListBox füllen
107
2.8.3 Eigenschaften der ListBox
108
2.8.4 Schleife mit »For Each … Next«
109
2.8.5 Ereignis der ListBox
110
2.8.6 Methoden der ListBox
111
2.8.7 ListBox mit Mehrfachauswahl
114
2.8.8 Steuerelement »ComboBox«
115
3 Fehlerbehandlung
119
3.1 Entwicklung eines Programms
119
3.2 Fehlerarten
120
3.3 Syntaxfehler
120
3.3.1 Editor
121
3.3.2 Syntaxfehler
122
3.4 Laufzeitfehler und Exception Handling
123
3.4.1 Programm mit Laufzeitfehlern
123
3.4.2 Einfaches Exception Handling
125
3.4.3 Erweitertes Exception Handling
126
3.5 Logische Fehler und Debuggen
127
3.5.1 Haltepunkte und Einzelschrittverfahren
128
3.5.2 Überwachungsfenster
129
4 Erweiterte Grundlagen
131
4.1 Steuerelemente aktivieren
131
4.1.1 Ereignis »Enter«
131
4.1.2 Eigenschaften »Enabled« und »Visible«
134
4.2 Bedienung per Tastatur
136
4.2.1 Eigenschaften »TabIndex« und »TabStop«
136
4.2.2 Tastenkombinationen für Steuerelemente
137
4.3 Ereignisgesteuerte Programmierung
138
4.3.1 Eine Ereigniskette
138
4.3.2 Endlose Ereignisketten
140
4.3.3 TextBoxen koppeln
141
4.3.4 Tastatur und Maus
143
4.4 Datenfelder
145
4.4.1 Eindimensionale Datenfelder
145
4.4.2 Datenfelder durchsuchen
147
4.4.3 Weitere Methoden
148
4.4.4 Mehrdimensionale Datenfelder
150
4.4.5 Indizes ermitteln
151
4.4.6 Mehr als zwei Dimensionen
152
4.4.7 Datenfelder initialisieren
154
4.4.8 Datenfelder sind dynamisch
155
4.5 Methoden
157
4.5.1 Einfache Methoden
157
4.5.2 Methoden mit Parametern
158
4.5.3 Übergabe mit »ByRef«
159
4.5.4 Übergabe von Objektverweisen
161
4.5.5 Übergabe von Variablen für Ergebnisse
162
4.5.6 Methoden mit Rückgabewerten
163
4.5.7 Optionale Parameter
165
4.5.8 Benannte Parameter
166
4.5.9 Beliebig viele Parameter
168
4.5.10 Rekursiver Aufruf
169
4.5.11 Übungen zu Methoden
171
4.6 Nullbare Datentypen
171
4.6.1 Variablen von nicht nullbaren Datentypen
172
4.6.2 Variablen von nullbaren Datentypen
173
4.6.3 Zugriff nach Verzweigung
174
4.6.4 Prüfung und Standardwert
175
4.7 Konsolenanwendung
176
4.7.1 Anwendung erzeugen
176
4.7.2 Eingabe eines Textes
177
4.7.3 Eingabe einer Zahl
178
4.7.4 Erfolgreiche Eingabe einer ganzen Zahl
179
4.7.5 Ausgabe formatieren
180
4.7.6 Aufruf mit Startparametern
182
4.8 Tupel
183
4.8.1 Unbenannte Tupel
183
4.8.2 Benannte Tupel
185
4.8.3 Implizite Namen und Vergleiche
186
4.8.4 Unbenannte Tupel und Methoden
187
4.8.5 Benannte Tupel und Methoden
188
5 Objektorientierte Programmierung
191
5.1 Was ist Objektorientierung?
191
5.2 Klasse, Eigenschaft, Methode, Objekt
192
5.2.1 Definition der Klasse
192
5.2.2 Nutzung der Klasse
194
5.3 Eigenschaftsmethode
196
5.3.1 Definition der Klasse
196
5.3.2 Nutzung der Klasse
197
5.4 Konstruktor
198
5.4.1 Definition der Klasse
198
5.4.2 Nutzung der Klasse
200
5.5 Namensräume
201
5.6 Referenzen, Vergleiche und Typen
202
5.6.1 Definition der Klasse
202
5.6.2 Referenzen
203
5.6.3 Operatoren »Is« und »IsNot«
204
5.6.4 Methode »Equals()«
205
5.6.5 Methode »GetType()«
206
5.6.6 Operator »TypeOf«
207
5.6.7 Operator »NameOf«
208
5.7 Operatormethoden
209
5.7.1 Nutzung der Methoden
209
5.7.2 Grundelemente der Klasse
211
5.7.3 Operatormethoden zur Berechnung
212
5.7.4 Operatormethoden zum Vergleich
213
5.8 Statische Elemente
214
5.8.1 Definition der Klasse
214
5.8.2 Nutzung der Klasse
216
5.9 Delegates
217
5.9.1 Steuerelemente zur Laufzeit erzeugen
217
5.9.2 Alle Steuerelemente eines Formulars
219
5.10 Vererbung
220
5.10.1 Definition der Basisklasse
221
5.10.2 Definition der abgeleiteten Klasse
222
5.10.3 »Private«, »Protected« und »Public«
223
5.10.4 Nutzung der beiden Klassen
224
5.11 Polymorphie
225
5.11.1 Definition der Basisklasse
225
5.11.2 Definition der abgeleiteten Klasse
226
5.11.3 Nutzung der beiden Klassen
227
5.12 Abstrakte Klassen
228
5.12.1 Definition der abstrakten Klasse
228
5.12.2 Definition der konkreten Klasse »Kreis«
229
5.12.3 Definition der konkreten Klasse »Rechteck«
230
5.12.4 Nutzung der beiden Klassen
231
5.13 Schnittstellen
232
5.13.1 Vordefinierte Schnittstelle
233
5.13.2 Eigene Schnittstelle
233
5.13.3 Definition der Klasse
234
5.13.4 Nutzung der Klasse
235
5.14 Strukturen
235
5.14.1 Definition der inneren Struktur
236
5.14.2 Definition der äußeren Struktur
237
5.14.3 Nutzung der verschachtelten Struktur
238
5.15 Generische Datentypen
239
5.15.1 Eine Liste von Zeichenketten
240
5.15.2 Definition der Klasse
243
5.15.3 Eine Liste von Objekten
244
5.15.4 Ein Dictionary von Objekten
246
5.16 Erweiterungsmethoden
249
5.16.1 Definition der Erweiterungsmethoden
250
5.16.2 Nutzung der Erweiterungsmethoden
251
5.17 Eigene Klassenbibliotheken
252
5.17.1 DLL erstellen
252
5.17.2 DLL nutzen
253
5.18 Mehrere Formulare
254
5.18.1 Neues Formular erzeugen
255
5.18.2 Gestaltung und Benutzung der Anwendung
255
5.18.3 Klasse des Hauptformulars
256
5.18.4 Klasse des Unterformulars
257
5.18.5 Allgemeine Code-Module
258
6 Wichtige Klassen in .NET
261
6.1 Zeichenketten
261
6.1.1 Eigenschaften der Klasse »String«
262
6.1.2 Trimmen
263
6.1.3 Splitten
264
6.1.4 Suchen
265
6.1.5 Einfügen
267
6.1.6 Löschen
269
6.1.7 Teilzeichenkette ermitteln
270
6.1.8 Zeichen ersetzen
271
6.1.9 Ausgabe formatieren
272
6.2 Datum und Uhrzeit
274
6.2.1 Eigenschaften der Struktur »DateTime«
274
6.2.2 Rechnen mit Datum und Uhrzeit
276
6.2.3 Steuerelement »DateTimePicker«
278
6.3 Textdateien
281
6.3.1 Schreiben in eine Textdatei
281
6.3.2 Lesen aus einer Textdatei
283
6.3.3 Schreiben in eine CSV-Datei
285
6.3.4 Lesen aus einer CSV-Datei
286
6.3.5 Ändern der Kodierung
287
6.4 XML-Dateien
288
6.4.1 Aufbau von XML-Dateien
288
6.4.2 Schreiben in eine XML-Datei
289
6.4.3 Lesen aus einer XML-Datei
291
6.4.4 Schreiben von Objekten
292
6.4.5 Lesen von Objekten
294
6.5 Verzeichnisse
295
6.5.1 Das aktuelle Verzeichnis
296
6.5.2 Eine Liste der Dateien
297
6.5.3 Eine Liste der Dateien und Verzeichnisse
298
6.5.4 Informationen über Dateien und Verzeichnisse
299
6.5.5 Bewegen in der Verzeichnishierarchie
299
6.6 Mathematische Funktionen
301
7 Weitere Elemente eines Windows-Programms
307
7.1 Hauptmenü
307
7.1.1 Erstellung des Hauptmenüs
307
7.1.2 Aufbau eines Hauptmenüs
309
7.1.3 Code der Menüpunkte
310
7.1.4 Änderung der Hintergrundfarbe
310
7.1.5 Klasse »Font«
311
7.1.6 Änderung der Schriftart
312
7.1.7 Änderung der Schriftgröße
313
7.1.8 Schriftstil
314
7.2 Kontextmenü
315
7.2.1 Erstellung des Kontextmenüs
315
7.2.2 Code des Kontextmenüs
316
7.3 Symbolleiste
317
7.3.1 Erstellung der Symbolleiste
317
7.3.2 Code der Symbolleiste
319
7.4 Statusleiste
320
7.4.1 Erstellung der Statusleiste
321
7.4.2 Code der Statusleiste
321
7.5 Dialogfeld »InputBox«
322
7.5.1 Einfache Eingabe
323
7.5.2 Eingabe der Lottozahlen
324
7.6 Dialogfeld »MessageBox«
325
7.6.1 Bestätigen einer Information
325
7.6.2 »Ja« oder »Nein«
326
7.6.3 »Ja«, »Nein« oder »Abbrechen«
327
7.6.4 »Wiederholen« oder »Abbrechen«
327
7.6.5 »Abbrechen«, »Wiederholen« oder »Ignorieren«
328
7.7 Standarddialogfelder
329
7.7.1 Datei öffnen
329
7.7.2 Datei speichern
331
7.7.3 Verzeichnis auswählen
332
7.7.4 Farbe auswählen
333
7.7.5 Schrifteigenschaften auswählen
334
7.8 Steuerelement »RichTextBox«
335
7.9 Steuerelement »ListView«
337
7.10 Steuerelement »DataGridView«
340
8 Datenbankanwendungen
345
8.1 Was sind relationale Datenbanken?
345
8.1.1 Beispiel »Lager«
345
8.1.2 Indizes
348
8.1.3 Relationen
349
8.1.4 Übungen
353
8.2 Anlegen einer Datenbank in MS Access
354
8.2.1 Aufbau von MS Access
354
8.2.2 Datenbankentwurf in MS Access
356
8.2.3 Übungen
360
8.3 Datenbankzugriff mit Visual Basic .NET in Visual Studio
360
8.3.1 Beispieldatenbank
361
8.3.2 Ablauf eines Zugriffs
361
8.3.3 Verbindung
362
8.3.4 SQL-Befehl
362
8.3.5 Paket installieren
362
8.3.6 Auswahlabfrage
363
8.3.7 Aktionsabfrage
366
8.4 SQL-Befehle
368
8.4.1 Rahmenprogramm
368
8.4.2 Einzelne Felder
370
8.4.3 Filtern mit Zahl
370
8.4.4 Filtern mit Zeichen
371
8.4.5 Operatoren
371
8.4.6 Operator »LIKE«
372
8.4.7 Sortierung
373
8.4.8 Parameter für Zahlen
374
8.4.9 Parameter für Suchbegriff
376
8.4.10 Parameter für Suchzeichen
376
8.4.11 Einfügen mit »INSERT«
377
8.4.12 Ändern mit »UPDATE«
377
8.4.13 Löschen mit »DELETE«
378
8.4.14 Typische Fehler in SQL
378
8.5 Ein Verwaltungsprogramm
380
8.5.1 Rahmenprogramm
380
8.5.2 Alle Datensätze sehen
381
8.5.3 Datensatz einfügen
382
8.5.4 Datensatz zur Bearbeitung anzeigen
383
8.5.5 Datensatz ändern
384
8.5.6 Datensatz löschen
385
8.5.7 Datensatz suchen
386
8.6 Verbindung zu MySQL
387
8.6.1 Zugriff auf die Datenbank
388
8.7 Verbindung zu SQLite
389
8.7.1 Eigenschaften von SQLite
389
8.7.2 Erstellung der Datenbank
390
8.7.3 Zugriff auf die Daten
391
8.8 Datenbank mit mehreren Tabellen
392
8.8.1 Datenbankmodell in MS Access-Datenbank
392
8.8.2 Struktur der Tabellen
393
8.8.3 Inhalte der Tabellen
394
8.8.4 Anwendung mit SQLite-Datenbank
395
8.8.5 Umbenennung des Hauptformulars
396
8.8.6 Hauptformular
396
8.8.7 Allgemeines Code-Modul
397
8.8.8 Laden des Hauptformulars
397
8.8.9 Aufruf der Unterformulare
400
8.8.10 Verwaltung der Kunden
401
8.8.11 Auswahl eines Kunden
403
8.8.12 Einfügen eines Kunden
404
8.8.13 Ändern eines Kunden
405
8.8.14 Löschen eines Kunden
407
8.8.15 Verwaltung der Projekte
408
8.8.16 Auswahl eines Projekts
411
8.8.17 Einfügen eines Projekts
412
8.8.18 Ändern eines Projekts
413
8.8.19 Löschen eines Projekts
414
8.8.20 Verwaltung der Personen
416
8.8.21 Auswahl der Daten einer Person
417
8.8.22 Einfügen der Daten einer Person
418
8.8.23 Ändern der Daten einer Person
420
8.8.24 Löschen der Daten einer Person
421
8.8.25 Verwaltung der Datensätze für die Arbeitszeiten
422
8.8.26 Auswahl eines Datensatzes für die Arbeitszeit
426
8.8.27 Einfügen eines Datensatzes für die Arbeitszeit
427
8.8.28 Ändern eines Datensatzes für die Arbeitszeit
429
8.8.29 Löschen eines Datensatzes für die Arbeitszeit
431
8.8.30 Anzahl der Kunden
432
8.8.31 Alle Personen mit Zeitsumme
433
8.8.32 Alle Projekte mit Zeitsumme
434
9 Zeichnen mit GDI+
437
9.1 Grundlagen von GDI+
437
9.2 Linie, Rechteck, Polygon und Ellipse zeichnen
437
9.2.1 Grundeinstellungen
438
9.2.2 Linie
439
9.2.3 Rechteck
440
9.2.4 Polygon
440
9.2.5 Ellipse
441
9.2.6 Dicke und Farbe ändern, Zeichnung löschen
441
9.3 Text zeichnen
442
9.4 Bilder darstellen
445
9.5 Dauerhaft zeichnen
446
9.6 Zeichnen einer Funktion
447
9.6.1 Ereignismethoden
448
9.6.2 Methode zum Zeichnen
448
10 Beispielprojekte
451
10.1 Spielprogramm »Tetris«
451
10.1.1 Spielablauf
451
10.1.2 Programmbeschreibung
452
10.1.3 Steuerelemente
453
10.1.4 Initialisierung des Programms
454
10.1.5 Erzeugen eines neuen Panels
456
10.1.6 Der Zeitgeber
457
10.1.7 Panels löschen
458
10.1.8 Panels seitlich bewegen
461
10.1.9 Panels nach unten bewegen
462
10.1.10 Pause
462
10.2 Lernprogramm »Vokabeln«
463
10.2.1 Benutzung des Programms
463
10.2.2 Erweiterung des Programms
465
10.2.3 Initialisierung des Programms
465
10.2.4 Ein Test beginnt
467
10.2.5 Zwei Hilfsmethoden
468
10.2.6 Die Antwort prüfen
469
10.2.7 Das Benutzermenü
470
11 Windows Presentation Foundation
473
11.1 Layout
474
11.1.1 Erstellung des Projekts
474
11.1.2 Gestaltung der Oberfläche
475
11.1.3 Code der Ereignismethoden
476
11.2 Steuerelemente
477
11.2.1 Gestaltung der Oberfläche
478
11.2.2 Code der Ereignismethoden
479
11.3 Anwendung mit Navigation
480
11.3.1 Ablauf der Anwendung
480
11.3.2 Navigationsdatei
481
11.3.3 Aufbauseite
482
11.3.4 Steuerungsseite
483
11.4 Zweidimensionale Grafik
483
11.4.1 Gestaltung der Oberfläche
484
11.4.2 Code der Ereignismethode
486
11.5 Dreidimensionale Grafik
486
11.5.1 Gestaltung der Oberfläche
487
11.5.2 Code der Ereignismethode
489
11.6 Animation
490
11.6.1 Gestaltung der Oberfläche
491
11.6.2 Das Storyboard
492
A Installation und technische Hinweise
495
Index
499