Visual Basic 2008 - Kochbuch

Werbung
Walter Doberenz, Thomas Gewinnus
Visual Basic 2008 Kochbuch
ISBN-10: 3-446-41492-4
ISBN-13: 978-3-446-41492-1
Inhaltsverzeichnis
Weitere Informationen oder Bestellungen unter
http://www.hanser.de/978-3-446-41492-1
sowie im Buchhandel.
Inhaltsverzeichnis
Vorwort
...........................................................................
19
1 Kleiner VB-Crashkurs für Anfänger ...........................................
R1.1 Das EVA-Prinzip anwenden .................................................
R1.2 Ein Array definieren und initialisieren .......................................
R1.3 Die Arraygröße zur Laufzeit ändern ..........................................
R1.4 Berechnungen in eine Methode auslagern .....................................
R1.5 Konsolenprogramm nach Windows portieren ................................
R1.6 Zahlen in eine ListBox eingeben und auswerten ...............................
23
23
27
29
31
35
39
2 Sprache ...........................................................................
R2.1 Anwendungen von C# nach Visual Basic portieren ............................
R2.2 String in Array kopieren und umgekehrt ......................................
R2.3 Ein Byte-Array in einen String konvertieren ..................................
R2.4 Strukturvariablen in Arrays einsetzen .........................................
R2.5 Eine einzelne Spalte aus einem Array kopieren ...............................
R2.6 In einer ArrayList suchen und sortieren .......................................
R2.7 In einer generischen Liste suchen und sortieren ...............................
R2.8 Zufallszahlen erzeugen ......................................................
R2.9 Eine Iterationsschleife verstehen (Quadratwurzel) .............................
R2.10 Eine Iterationsschleife verstehen (Goldener Schnitt) ...........................
R2.11 Funktionen rekursiv aufrufen .................................................
R2.12 Zeichenketten mittels StringBuilder addieren .................................
R2.13 Strings vergleichen ..........................................................
R2.14 Zeitdifferenzen ermitteln .....................................................
R2.15 Datumsdifferenzen ermitteln .................................................
R2.16 Das Alter in Jahren bestimmen ...............................................
R2.17 Die Monatsdifferenz berechnen ..............................................
R2.18 Das Datum beweglicher Feiertage berechnen .................................
R2.19 Ersten und letzten Wochentag des Monats ermitteln ...........................
R2.20 Abschreibungen auf Monatsbasis berechnen ..................................
R2.21 Reisespesen berechnen .......................................................
R2.22 Geldbeträge kaufmännisch runden ............................................
R2.23 Fehler bei mathematischen Operationen behandeln ............................
43
43
49
51
53
56
57
59
61
62
65
67
68
72
75
77
80
81
83
85
86
90
93
94
6
Inhaltsverzeichnis
R2.24
R2.25
R2.26
R2.27
R2.28
R2.29
R2.30
R2.31
Mit Potenzen und Wurzeln rechnen ..........................................
Einen Delegate definieren und anwenden .....................................
Mit Delegates sortieren (Bubblesort) .........................................
Referenz- oder Wertetypen als Parameter übergeben ..........................
Die Syntax von LINQ-Abfragen verstehen ....................................
Strings mit LINQ abfragen und filtern ........................................
Ein Zahlen-Array mit LINQ auswerten und sortieren ..........................
Tipps & Tricks ..............................................................
Die aktuelle Uhrzeit anzeigen ................................................
Die Uhrzeit als DateTime-Datentyp speichern ................................
Zahlen definiert runden ......................................................
Auf das letzte Zeichen im String testen .......................................
Die letzten Zeichen eines Strings abschneiden ................................
Leerzeichen aus einem String entfernen ......................................
Zur Laufzeit ein Array definieren .............................................
99
100
102
105
108
112
113
116
116
117
117
117
117
118
118
3 Oberfläche ........................................................................
R3.1 Das Startformular festlegen ..................................................
R3.2 Beim Programmstart eine Abfrage ausführen .................................
R3.3 Das Schließen des Formulars verhindern .....................................
R3.4 Mit mehreren Formularen arbeiten ...........................................
R3.5 Eine MDI-Applikation erstellen ..............................................
R3.6 Formulare im Formular anzeigen .............................................
R3.7 Zur Laufzeit ein Steuerelement erzeugen .....................................
R3.8 Steuerelemente-Array per Code erzeugen .....................................
R3.9 Auf ein Control-Array zugreifen .............................................
R3.10 Mit der TextBox arbeiten ....................................................
R3.11 In einer TextBox suchen .....................................................
R3.12 Nur Zahleneingaben zulassen ................................................
R3.13 Dezimalkomma in Dezimalpunkt umwandeln .................................
R3.14 Tastatureingaben für mehrere TextBoxen filtern ..............................
R3.15 RadioButtons und CheckBoxen einsetzen .....................................
R3.16 Die ListBox kennen lernen ...................................................
R3.17 Die ComboBox kennen lernen ...............................................
R3.18 Objekte in ListBox/ComboBox anzeigen .....................................
R3.19 Mit der CheckedListBox arbeiten ............................................
R3.20 Die Maus abfragen ..........................................................
R3.21 Das TableLayoutPanel einsetzen .............................................
119
119
120
122
123
128
131
134
136
138
141
143
145
147
148
150
152
155
158
161
164
165
7
Inhaltsverzeichnis
R3.22
R3.23
R3.24
R3.25
R3.26
R3.27
R3.28
R3.29
R3.30
R3.31
Mit einem Kontextmenü arbeiten .............................................
Einfache Datenbindung praktizieren ..........................................
Anwendungseinstellungen an Steuerelemente binden .........................
Mit Drag & Drop arbeiten ....................................................
Mit dem ErrorProvider arbeiten ..............................................
Eingaben validieren ..........................................................
Das NotifyIcon-Control in der Taskleiste einsetzen ...........................
Ein Array in einer ListView anzeigen .........................................
Eine ListView mit dem Inhalt eines DataSets füllen ...........................
In der ListView nach beliebigen Spalten sortieren .............................
170
172
175
179
183
186
189
194
196
200
4 Grafikprogrammierung .........................................................
R4.1 Ein Graphics-Objekt erzeugen ...............................................
Variante 1: Verwendung des Paint-Events ....................................
Variante 2: Überschreiben der OnPaint-Methode ..............................
Variante 3: Graphics-Objekt mit CreateGraphics erzeugen ....................
Variante 4: Verwendung des Graphics-Objekts einer PictureBox ..............
R4.2 Verbundene Linien und Pfeile zeichnen ......................................
R4.3 Eine gemusterte Linie zeichnen ..............................................
R4.4 Rechtecke und Ellipsen zeichnen .............................................
R4.5 Rechtecke mit runden Ecken zeichnen ........................................
R4.6 Transparente Farben verwenden ..............................................
R4.7 Ein Tortendiagramm zeichnen ...............................................
R4.8 Die Grafikdialoge richtig einsetzen ...........................................
R4.9 Ein Control-Array mit Grafiken ausstatten ....................................
R4.10 Einen grafischen Würfel programmieren ......................................
R4.11 Den Abstand zwischen zwei Punkten berechnen ..............................
R4.12 Ein Balkendiagramm zeichnen ...............................................
R4.13 Das Mischen von Farbwerten verstehen ......................................
R4.14 Eine Verkehrsampel programmieren .........................................
R4.15 Eine 2D-Vektorgrafik manipulieren ..........................................
R4.16 Geometrische Transformationen durchführen .................................
R4.17 Eine Grafik scrollen .........................................................
R4.18 Eine Bitmap erzeugen und als Datei speichern ................................
R4.19 Eine Metafilegrafik erzeugen und speichern ..................................
R4.20 Einen Fenster-Screenshot erzeugen ...........................................
R4.21 Einen Desktop-Screenshot realisieren ........................................
R4.22 Auf dem Windows-Desktop zeichnen ........................................
207
207
207
208
209
210
210
212
213
215
216
217
219
221
224
227
229
234
238
242
247
250
251
252
253
256
258
8
Inhaltsverzeichnis
R4.23
R4.24
R4.25
R4.26
R4.27
R4.28
R4.29
R4.30
R4.31
R4.32
R4.33
R4.34
R4.35
R4.36
R4.37
R4.38
R4.39
R4.40
R4.41
R4.42
R4.43
Eine Grafik aus den Programmressourcen laden ..............................
Zwei Farbwerte miteinander vergleichen .....................................
Einen Farbverlauf erzeugen ..................................................
Einen transparenten Stift erzeugen ............................................
Texte gedreht ausgeben ......................................................
Text mit Schatten ausgeben ..................................................
Mehrzeiligen Text ausgeben .................................................
Text mit Tabulatoren ausgeben ...............................................
Die installierten Schriftarten ermitteln ........................................
Die JPEG-Kompression festlegen ............................................
Eine Grafik maskieren .......................................................
Die Transparenz einer Grafik steuern .........................................
Einfache GIF-Animationen wiedergeben .....................................
Auf einzelne GIF-Frames zugreifen ..........................................
Aus animierten Gifs ein Bitmap-Strip erzeugen ...............................
Flackernde Grafikausgaben vermeiden .......................................
Einfache Grafikanimationen realisieren .......................................
RGB-Grafiken manipulieren .................................................
Einen Markierungsrahmen erzeugen ..........................................
Zeichenoperationen mit der Maus realisieren .................................
Ein Testbild programmieren .................................................
260
263
264
265
266
267
269
270
271
273
274
277
278
280
282
283
286
288
295
297
301
5 Drucker/Drucken ................................................................
R5.1 Mit Visual Basic drucken ....................................................
R5.2 Den Windows Standard-Drucker ermitteln ....................................
R5.3 Den Windows Standard-Drucker ändern ......................................
R5.4 Die verfügbaren Drucker ermitteln ...........................................
R5.5 Einen Drucker auswählen ....................................................
R5.6 Papierformate und Seitenabmessungen bestimmen ............................
R5.7 Den physikalischen Druckbereich ermitteln ...................................
R5.8 Die aktuelle Seitenausrichtung ermitteln ......................................
R5.9 Testen ob es sich um einen Farbdrucker handelt ...............................
R5.10 Die physikalische Druckauflösung abfragen ..................................
R5.11 Prüfen, ob beidseitiger Druck möglich ist .....................................
R5.12 Einen Informationsgerätekontext erzeugen ....................................
R5.13 Drucken in Millimetern ......................................................
R5.14 Die Seitenränder für den Druck festlegen .....................................
R5.15 Den Druckjobnamen festlegen ...............................................
305
305
306
307
308
309
311
312
314
314
314
316
316
318
319
322
9
Inhaltsverzeichnis
R5.16
R5.17
R5.18
R5.19
R5.20
R5.21
R5.22
R5.23
R5.24
R5.25
R5.26
R5.27
R5.28
R5.29
R5.30
Die Anzahl der Kopien festlegen .............................................
Beidseitigen Druck realisieren ................................................
Bestimmte Seitenbereiche drucken ...........................................
Den PageSetup-Dialog verwenden ...........................................
Das Windows-Drucker-Fenster anzeigen .....................................
Eine Textdatei drucken ......................................................
Den Inhalt einer TextBox drucken ............................................
Den Drucker umfassend konfigurieren ........................................
Mit Microsoft Word per OLE drucken ........................................
Ein Microsoft Word-Formulare füllen und drucken ...........................
Mit Microsoft Access drucken ...............................................
Die Drucker-Konfiguration anzeigen .........................................
Diverse Druckereigenschaften bestimmen ....................................
Dokumente mit dem Internet Explorer drucken ...............................
Einen Drucker anhalten ......................................................
322
322
323
328
331
332
335
337
347
350
354
357
358
360
362
6 OOP/Komponenten .............................................................
R6.1 Überladene/überschriebene Methoden vergleichen ............................
R6.2 Aggregation und Vererbung gegenüberstellen .................................
R6.3 Objekte serialisieren .........................................................
R6.4 Ein wieder verwendbares Formular erstellen ..................................
R6.5 Von einem Formular erben ...................................................
R6.6 Von vorhandenen Steuerelementen erben .....................................
R6.7 Eine Komponente zur Farbauswahl entwickeln ...............................
R6.8 Eine Digitalanzeige-Komponente programmieren .............................
R6.9 OOP beim Kartenspiel erlernen ..............................................
R6.10 Eine Klasse zur Matrizenrechnung entwickeln ................................
365
365
368
375
378
381
386
390
396
401
406
7 Kleiner OOP-Crashkurs .........................................................
R7.1 Klassen und Objekte verstehen ...............................................
R7.2 Einen eigenen Konstruktor implementieren ...................................
R7.3 Eigenschaften kapseln .......................................................
R7.4 Vererbung und Polymorphie anwenden .......................................
R7.5 Ereignisse programmieren ...................................................
R7.6 Das Observer-Pattern demonstrieren ..........................................
R7.7 Multicast-Events verwenden .................................................
R7.8 Das Microsoft Event Pattern implementieren .................................
413
413
418
420
424
432
435
446
448
10
Inhaltsverzeichnis
8 Dateien/Verzeichnisse ..........................................................
R8.1 Mit den Dateidialogen auf eine Textdatei zugreifen ...........................
R8.2 Alle Unterverzeichnisse auflisten .............................................
R8.3 Alle Dateien auflisten ........................................................
R8.4 Die GetFileSystemInfos-Methode einsetzen ..................................
R8.5 Die Path-Klasse kennen lernen ...............................................
R8.6 Verzeichnis- und Datei-Informationen gewinnen ..............................
R8.7 Änderungen im Dateisystem überwachen .....................................
R8.8 Dateien rekursiv suchen ......................................................
R8.9 Eine sequenzielle Datei lesen und schreiben ..................................
R8.10 Serialisierte Objekte in einer Datei abspeichern ...............................
R8.11 Den Inhalt einer ListView als Datei abspeichern ..............................
R8.12 Den Verzeichnisinhalt in einer ListView anzeigen ............................
R8.13 Einen Verzeichnisbaum in eine TreeView einlesen ............................
R8.14 Eine Datei verschlüsseln .....................................................
R8.15 Eine Datei komprimieren ....................................................
R8.16 Die vorhandenen Laufwerke feststellen .......................................
R8.17 Datei-Ladefortschritt mit ProgressBar anzeigen ...............................
455
455
459
460
462
463
464
468
471
474
477
482
487
489
492
495
497
498
9 XML ................................................................................
R9.1 DataSets in Xml-Strings konvertieren ........................................
R9.2 DataSets in XML-Dateien speichern ..........................................
R9.3 In Dokumenten mit dem XPathNavigator navigieren ..........................
R9.4 In Dokumenten mit XElement/XDocument navigieren ........................
R9.5 In Dokumenten mit dem XPathNavigator suchen .............................
R9.6 Hierarchische XML-Daten in einer TreeView darstellen .......................
R9.7 XML-Daten mit dem XmlReader lesen .......................................
R9.8 XML-Daten mit LINQ to XML einlesen/filtern ...............................
R9.9 XML-Daten mit dem XmlWriter erzeugen ....................................
R9.10 XML-Dokumente mit LINQ to XML erzeugen ...............................
R9.11 Verzeichnisstruktur als XML-Dokument sichern ..............................
R9.12 Binäre Daten in einem XML-Dokument speichern ............................
R9.13 Objektstrukturen im XML-Format sichern ....................................
R9.14 XML-Dokumente mit XSLT transformieren ..................................
R9.15 XML-Dokumente mit LINQ transformieren ..................................
R9.16 XML-Daten mit XmlDataDocument bearbeiten ...............................
R9.17 XML-Daten in SQL Server-Tabellen speichern ...............................
R9.18 XML-Dokumente in Webanwendungen anzeigen .............................
501
501
505
508
513
518
521
525
528
530
532
534
536
539
545
547
549
552
554
Inhaltsverzeichnis
10 ADO.NET ..........................................................................
R10.1 Auf eine Access-Datenbank zugreifen ........................................
R10.2 Auf den SQL Server zugreifen ...............................................
R10.3 ConnectionString in Konfigurationsdatei ablegen .............................
R10.4 Den DataReader kennen lernen ...............................................
R10.5 Minimaler DB-Client für Lese- und Schreibzugriff ............................
R10.6 Schemainformationen verwenden ............................................
R10.7 Query Notifications verwenden .............................................
R10.8 Mit einer Datenquelle arbeiten ...............................................
R10.9 Eine Aktionsabfrage ausführen ...............................................
R10.10 Daten direkt hinzufügen oder löschen ........................................
R10.11 Gespeicherte Prozeduren aufrufen ............................................
R10.12 Eine Access-Auswahlabfrage aufrufen .......................................
R10.13 Parametrierte Abfragen unter MS Access ausführen ...........................
R10.14 Parametrierte Abfragen für SQL Server ausführen ............................
R10.15 Datumswerte in SQL-Anweisungen einbauen .................................
R10.16 Die Datenbank manuell aktualisieren ........................................
R10.17 Die Datenbank mit CommandBuilder aktualisieren ...........................
R10.18 Mit Stapel-Abfragen arbeiten ................................................
R10.19 RowUpdating-/RowUpdated-Ereignisse verwenden ...........................
R10.20 MARS kennen lernen ........................................................
R10.21 Auf Zeilen und Spalten der DataTable zugreifen ..............................
R10.22 Eine ListBox an einen DataView binden ......................................
R10.23 Das DataGridView mit ComboBoxen ausrüsten ..............................
R10.24 Auf eine einzelne Zeile im DataGridView zugreifen ..........................
R10.25 DataTable erzeugen und in Binärdatei speichern ..............................
R10.26 Eine DataTable in einer XML-Datei abspeichern ..............................
R10.27 Die RemotingFormat-Property des DataSets nutzen ...........................
R10.28 Master-Detail-Beziehungen im DataGrid anzeigen ............................
R10.29 Im DataView sortieren und filtern ............................................
R10.30 Im DataView nach Datensätzen suchen .......................................
R10.31 Zwischen DataTable und DataReader umwandeln ............................
R10.32 Steuerelemente manuell an ein DataSet binden ...............................
R10.33 Datensätze im Detail-Formular editieren ......................................
R10.34 Tabellen mittels ComboBox verknüpfen .....................................
R10.35 Spalten und Zeilen im DataGridView formatieren ............................
R10.36 DataReader in einer ListView anzeigen .......................................
11
559
559
562
564
567
569
571
575
580
586
588
591
594
597
598
600
603
607
608
610
613
617
619
621
624
627
631
633
636
639
641
643
645
651
657
661
664
12
Inhaltsverzeichnis
R10.37
R10.38
R10.39
R10.40
R10.41
Bilder aus der Datenbank anzeigen ...........................................
Ein ungebundenes DataSet erzeugen .........................................
Ein typisiertes DataSet im Designer erzeugen .................................
Ein typisiertes DataSet befüllen ..............................................
Eine LINQ to SQL-Abfrage realisieren .......................................
667
669
673
676
678
11 Reporting Services ..............................................................
R11.1 Einen einfachen Bericht entwerfen ...........................................
R11.2 Einen Bericht ohne Assistentenhilfe erstellen .................................
R11.3 Im Bericht sortieren ..........................................................
R11.4 Im Bericht filtern ............................................................
R11.5 Im Bericht gruppieren .......................................................
R11.6 Weitere Tipps & Tricks ......................................................
Unterstreichungslinie in Tabelle ..............................................
Währungsformatierung ......................................................
Wechselnde Zeilenfarbe .....................................................
Anzeige von True und False in Booleschen Feldern vermeiden ................
Anzeige von Nullwerten unterdrücken ........................................
Die lästigen Sekunden beseitigen .............................................
Abstand zwischen zwei Tabellenspalten vergrößern ...........................
Nachkommastellen festlegen .................................................
Berechnen und formatieren ..................................................
Unterdrücken von Kopf- und Fußzeilen auf der ersten Seite ...................
Seitenzahlen in den Report einfügen ..........................................
Datumsformatierung .........................................................
Anzeigen variabler Daten in einem Seitenkopf oder -fuß ......................
683
683
687
690
695
698
702
702
703
703
703
704
704
704
704
704
704
705
705
705
12 ASP.NET/Webdienste ...........................................................
R12.1 Eine einfache Webanwendung erstellen ......................................
R12.2 Tabellen mit der Table-Komponente erstellen .................................
R12.3 Daten zwischen Web Forms austauschen .....................................
R12.4 Informationen über den Browser ermitteln ....................................
R12.5 Die Bildschirmauflösung des Clients ermitteln ................................
R12.6 Das Browser-Fenster maximieren ............................................
R12.7 Cookies in ASP.NET-Anwendungen verwenden ..............................
R12.8 HTML-Ausgaben an den Client senden .......................................
R12.9 Bilder/Dateien an den Client senden ..........................................
R12.10 Die IP-Adresse des Clients abfragen ..........................................
707
707
713
720
723
725
727
728
730
732
733
Inhaltsverzeichnis
R12.11 Die Anzahl der Seitenaufrufe eines Users ermitteln ...........................
R12.12 Auf den Fehlercode 404 reagieren ............................................
Variante 1: Alternative Fehlerseite einblenden ................................
Variante 2: Zentrale Fehlerbehandlung .......................................
R12.13 Die Validierung temporär deaktivieren .......................................
R12.14 Den Eingabefokus bei Validierung setzen .....................................
R12.15 Eine clientseitige Validierung realisieren .....................................
R12.16 Die Zellen in einem GridView formatieren ...................................
R12.17 Ein GridView mit Bildlaufleisten realisieren ..................................
R12.18 Einen Mouseover-Effekte im GridView realisieren ............................
R12.19 Keine Daten im GridView vorhanden ........................................
R12.20 Daten einfach ins MS Excel-Format exportieren ..............................
R12.21 Berechnungen in GridView-Zeilen realisieren ................................
R12.22 Spaltensummen im GridView berechnen .....................................
R12.23 Währungswerte im GridView korrekt anzeigen ...............................
R12.24 Eine Validierung im GridView realisieren ....................................
R12.25 Mit einem Popup-Fenster Detaildaten anzeigen ...............................
R12.26 Eine Sicherheitsabfrage realisieren ...........................................
R12.27 E-Mail-Versand in ASP.NET realisieren ......................................
R12.28 Verzeichnisbäume mit der TreeView anzeigen ................................
R12.29 Datenaustausch zwischen ClientScript und Server .............................
R12.30 Dateien auf den Server hochladen ............................................
R12.31 Ein ASP.NET-Menü dynamisch erzeugen ....................................
R12.32 Die Browser-Kopfzeile zur Laufzeit ändern ...................................
R12.33 Einen Zeilenumbruch im Label-Control realisieren ............................
R12.34 HTML-Zeichenfolgen im Browser anzeigen ..................................
R12.35 Die Browser-Scrollposition wiederherstellen ..................................
R12.36 Dateien eines Unterverzeichnisses auflisten ...................................
R12.37 MouseOver-Effekte für Controls realisieren ..................................
R12.38 Server Controls zur Laufzeit erzeugen ........................................
R12.39 Doppelklicks auf Schaltflächen verhindern ...................................
R12.40 Das Browserfenster per Client-Skript schließen ...............................
R12.41 Ein ASP.NET User Control programmieren ..................................
R12.42 Grafikausgaben per User Control realisieren ..................................
R12.43 Die Upload-Begrenzung ändern ..............................................
R12.44 Eine Webseite per JavaScript drucken ........................................
R12.45 Ein Projekt auf den IIS exportieren ...........................................
13
734
735
736
737
738
738
738
739
741
742
743
744
747
749
751
751
754
758
759
761
764
766
767
769
769
770
771
772
774
775
777
779
780
784
787
788
789
14
Inhaltsverzeichnis
R12.46
R12.47
R12.48
R12.49
Ärger mit den Cookies vermeiden ............................................
Einen XML-Webdienst programmieren ......................................
Einen Webdienst-Client erstellen .............................................
Datenbankzugriffe mit Webdiensten realisieren ...............................
Webdienst entwerfen ........................................................
Service-Client (Windows Forms) .............................................
Service-Client (Web Forms) .................................................
Einen Webverweis aktualisieren ..............................................
Authentifikation für Webdienste nutzen ......................................
Caching in Webdiensten realisieren ..........................................
WebMethodAttribute.CacheDuration .........................................
Verwendung des Cache-API .................................................
Den Microsoft IIS nachträglich installieren ...................................
Die neuen AJAX-Controls verwenden ........................................
Tipps & Tricks ..............................................................
Ärger mit Leerzeichen in URLs vermeiden ...................................
Testen, ob Nutzer angemeldet ist .............................................
Den Namen des aktuellen Nutzers ermitteln ..................................
Eine zufällige Datei zur Anzeige auswählen ..................................
Einen Datei speichern unter...-Dialog anzeigen lassen .........................
Anwendungseinstellungen in der Web.config sichern .........................
791
792
797
802
802
809
814
818
819
820
820
821
822
824
827
827
827
827
828
829
830
13 Windows Presentation Foundation ...........................................
R13.1 WPF-Anwendung im Fullscreen-Mode starten ................................
R13.2 Fenster auf einem bestimmten Screen anzeigen ...............................
R13.3 Das Hauptfenster festlegen und ändern .......................................
R13.4 Einen Splash-Screen erzeugen und anzeigen ..................................
R13.5 Eine WPF-Browseranwendung erstellen ......................................
Größe und Titel des Browserfensters festlegen ................................
Größe der Browseranwendung anpassen ......................................
Ein-/Ausblenden der Navigationsschaltflächen ................................
Navigation zwischen einzelnen Seiten (Pages) ................................
Verwendung von Cookies ....................................................
Abfrage von QueryStrings ...................................................
Übergabe von Page-Instanzen per Konstruktor ................................
Eine Instanz der Seite erhalten ...............................................
Einen Ersatz für Window realisieren ..........................................
R13.6 WPF-Oberflächen zur Laufzeit erzeugen .....................................
831
831
832
834
835
837
838
839
840
841
843
844
846
846
847
848
R12.50
R12.51
R12.52
R12.53
R12.54
R12.55
15
Inhaltsverzeichnis
R13.7
R13.8
R13.9
R13.10
R13.11
R13.12
R13.13
R13.14
R13.15
R13.16
R13.17
R13.18
R13.19
R13.20
Grafiken in WPF skaliert anzeigen ...........................................
Grafiken aus Dateien zur Laufzeit laden ......................................
Grafiken aus Ressourcen zur Laufzeit zuweisen ...............................
Sonderzeichen im Content darstellen .........................................
Eigene Schriftarten in die Anwendung einbetten ..............................
WPF-Controls trotz Layout frei positionieren .................................
Textformatierungen im Content realisieren ...................................
Irreguläre Window-Formen erzeugen .........................................
Einfache Zeichnungen zur Laufzeit ausgeben .................................
Programmparameter auswerten ...............................................
Ein Video anzeigen und steuern ..............................................
Schatteneffekt für Controls realisieren ........................................
Eine TextBox beim Fokuserhalt optisch markieren ............................
Den TextBox-Inhalt beim Fokuserhalt markieren .............................
851
853
855
858
859
861
862
863
865
868
870
873
875
877
14 System ............................................................................
R14.1 Nutzer und Gruppen des Systems ermitteln ...................................
R14.2 Testen, ob Nutzer in einer Gruppe enthalten ist ...............................
R14.3 Testen, ob der Nutzer ein Administrator ist ...................................
R14.4 Die IP-Adressen des Computers bestimmen ..................................
R14.5 Die IP-Adresse über den Hostnamen bestimmen ..............................
R14.6 Diverse Systeminformationen ermitteln .......................................
Betriebssystem (Name, Version, Bootmode) ..................................
Schriftarten/-Informationen ..................................................
Bildschirme .................................................................
Netzwerk (User-Name, PC-Name ...) .........................................
Environment Variablen auslesen .............................................
Energiestatus ................................................................
Hardware-Informationen .....................................................
Anwendung (Pfad, Name, Assemblies) .......................................
Soundkarte(n) ...............................................................
CLR-Version ................................................................
R14.7 Alles über den Bildschirm erfahren ...........................................
R14.8 Die Registrierdatenbank verwenden ..........................................
R14.9 Eine verknüpfte Anwendung öffnen ..........................................
R14.10 Eine Dateiverknüpfung erzeugen .............................................
R14.11 Den Computer herunterfahren oder neu starten ................................
Variante 1 (ExitWindowsEx) .................................................
879
879
881
882
883
884
885
886
887
888
889
890
891
891
892
894
894
895
896
900
900
902
903
16
Inhaltsverzeichnis
Variante 2 (Shutdown.exe) ...................................................
Den "Herunterfahren"-Dialog anzeigen .......................................
Das System-Shutdown-Ereignis auswerten ...................................
Windows in den Standby-Modus versetzen ...................................
Systemereignisse auswerten ..................................................
Windows Botschaften verarbeiten ............................................
Alle geöffneten Windows Fenster ermitteln ...................................
Die Taskbar Notification Area (TNA) verwenden .............................
Neue Programmgruppen erzeugen ............................................
Verknüpfungen auf dem Desktop erzeugen ...................................
Den Bildschirmschoner aktivieren/deaktivieren ...............................
Drag & Drop mit dem Explorer realisieren ....................................
System-Icons verwenden ....................................................
Die Desktop-Icons ein-/ausblenden ...........................................
Die Taskbar ausblenden ......................................................
Den Papierkorb leeren .......................................................
Den Windows Suchassistenten verwenden ....................................
Systemtöne und WAV-Dateien wiedergeben ..................................
Das Windows-Systemprotokoll nutzen .......................................
Das Windows-Systemprotokoll überwachen ..................................
Die Zwischenablage überwachen und anzeigen ...............................
Das Datei-Eigenschaftenfenster anzeigen .....................................
Prüfen, ob Visual Styles aktiviert sind ........................................
Schriftarten dynamisch einbinden und verwenden .............................
Eine Soundkarte erkennen ...................................................
Prozess- und Thread-Informationen gewinnen ................................
Ein externes Programm starten ...............................................
Eine externe Anwendung starten und überwachen .............................
905
907
908
908
909
911
912
915
918
919
921
922
924
925
927
928
929
930
932
935
936
939
942
942
944
945
951
953
15 Sonstiges .........................................................................
R15.1 Eine einfache E-Mail versenden ..............................................
R15.2 EMails mit dem integrierten Mail-Client versenden ...........................
R15.3 Logische Fehler mittels Debugger aufspüren ..................................
R15.4 Eigene Fehlerklassen definieren ..............................................
R15.5 Die MessageBox-Klasse verwenden ..........................................
R15.6 Nur eine Anwendungsinstanz zulassen .......................................
R15.7 Die Anwendungsparameter auswerten ........................................
R15.8 Die Zwischenablage verwenden ..............................................
957
957
958
960
967
969
971
973
975
R14.12
R14.13
R14.14
R14.15
R14.16
R14.17
R14.18
R14.19
R14.20
R14.21
R14.22
R14.23
R14.24
R14.25
R14.26
R14.27
R14.28
R14.29
R14.30
R14.31
R14.32
R14.33
R14.34
R14.35
R14.36
R14.37
R14.38
17
Inhaltsverzeichnis
R15.9
R15.10
R15.11
R15.12
R15.13
R15.14
R15.15
R15.16
R15.17
R15.18
R15.19
R15.20
R15.21
R15.22
R15.23
R15.24
R15.25
Tastaturbefehle senden .......................................................
Mittels Reflection Typinformationen sammeln ................................
Ressourcen per Reflection auslesen ...........................................
Client/Server-Anwendung mit zwei Projekten ................................
Eine Windows Form-Anwendung lokalisieren ................................
Eine Assembly dynamisch einbinden .........................................
Den .NET-Reflector verwenden ..............................................
Eine GUID erzeugen ........................................................
Bytes in MByte umrechnen ..................................................
Einen String verschlüsseln ...................................................
Die Verwendung von DoEvents verstehen ....................................
Eine Pause realisieren ........................................................
Hilfedateien programmieren .................................................
Hilfedateien in die VB-Anwendung einbinden ................................
Eine alternative Hilfe-IDE verwenden .......................................
Installationsdateien erzeugen .................................................
Eine farbige Konsolenanwendung realisieren .................................
977
981
983
986
990
994
997
999
1000
1001
1003
1006
1007
1011
1016
1017
1026
16 Komplexbeispiele ................................................................
R16.1 Kleines Textverarbeitungsprogramm .........................................
MDI-Rahmenfenster .........................................................
MDI-Kindfenster ............................................................
Menüs zusammenführen .....................................................
PopUp-Menü hinzufügen ....................................................
Quellcode für MDI-Hauptfenster .............................................
Quellcode für MDI-Kindfenster ..............................................
Programmtest ...............................................................
Dokumente drucken .........................................................
Bemerkungen zur RichTextBox ..............................................
R16.2 Buchungssystem mit Random Access Datei ..................................
Klassenübersicht ............................................................
Entwurf der Bedienoberfläche ...............................................
Entwicklung des Geschäftsmodells ..........................................
Programmieren der Bedienoberfläche ........................................
Programmtest ...............................................................
R16.3 Ein einfacher FTP-Client ....................................................
Bedienoberfläche ............................................................
Auflisten des FTP-Verzeichnisses ............................................
1029
1029
1029
1030
1031
1034
1035
1038
1041
1042
1046
1047
1047
1047
1048
1057
1060
1061
1062
1062
18
Inhaltsverzeichnis
Herunterladen einer Datei per FTP ...........................................
Heraufladen einer Datei per FTP .............................................
Löschen einer Datei im FTP-Verzeichnis .....................................
Bedienfunktionen ............................................................
Programmtest ...............................................................
Lösen von linearen Gleichungssystemen ......................................
Ein wenig Theorie ...........................................................
Komponente CTBMatrix ....................................................
Bedienoberfläche ............................................................
Programmtest ...............................................................
Rechner für komplexe Zahlen ................................................
Was sind komplexe Zahlen? .................................................
Programmierung der Klasse CComplexN .....................................
Bedienoberfläche für Testprogramm .........................................
Quellcode für Testprogramm .................................................
Programmtest ...............................................................
Formel-Rechner mit dem CodeDOM .........................................
Basisversion des Rechners ...................................................
Funktionsverlauf grafisch darstellen ..........................................
Digitalvoltmeter an RS232 ...................................................
1063
1065
1066
1067
1068
1069
1069
1071
1072
1076
1079
1079
1080
1083
1084
1086
1087
1088
1093
1097
Anhang ............................................................................
A:
Glossar ......................................................................
B:
Wichtige Datei-Extensions ...................................................
C:
ANSI-Tabelle ...............................................................
1103
1103
1107
1108
Index
1111
R16.4
R16.5
R16.6
R16.7
..............................................................................
Herunterladen