![](/img/standard/library2/book_headline_links.gif) |
Inhaltsverzeichnis |
![](/img/standard/library2/book_headline_rechts.gif) |
1;Visual Basic 2012 - Kochbuch
;4
1.1;Inhaltsverzeichnis
;6
1.2;Vorwort;26
1.3;1 Kleiner VB-Anfängerkurs;30
1.3.1;R1 Das EVA-Prinzip anwenden;30
1.3.2;R2 Ein Array definieren und initialisieren;34
1.3.3;R3 Die Arraygröße zur Laufzeit ändern;36
1.3.4;R4 Berechnungen in eine Methode auslagern;38
1.3.5;R5 Konsolenprogramm nach Windows portieren;42
1.3.6;R6 Werte in einer ListBox anzeigen;45
1.4;2 Sprache;50
1.4.1;R7 Anwendungen von C# nach Visual Basic portieren;50
1.4.2;R8 String in Array kopieren und umgekehrt;56
1.4.3;R9 Ein Byte-Array in einen String konvertieren;58
1.4.4;R10 Strukturvariablen in Arrays einsetzen;60
1.4.5;R11 Eine einzelne Spalte aus einem Array kopieren;62
1.4.6;R12 In einer ArrayList suchen und sortieren;64
1.4.7;R13 In einer generischen Liste suchen und sortieren;66
1.4.8;R14 Zufallszahlen erzeugen;68
1.4.9;R15 Eine Iterationsschleife verstehen (Quadratwurzel);69
1.4.10;R16 Eine Iterationsschleife verstehen (Goldener Schnitt);72
1.4.11;R17 Funktionen rekursiv aufrufen;73
1.4.12;R18 Zeichenketten mittels StringBuilder addieren;75
1.4.13;R19 Strings vergleichen;78
1.4.14;R20 Eine Stoppuhr programmieren;81
1.4.15;R21 Zeitangaben runden;83
1.4.16;R22 Zeitdifferenzen ermitteln;84
1.4.17;R23 Datumsdifferenzen ermitteln;86
1.4.18;R24 Das Alter in Jahren bestimmen;88
1.4.19;R25 Die Monatsdifferenz berechnen;90
1.4.20;R26 Das Datum beweglicher Feiertage berechnen;91
1.4.21;R27 Ersten und letzten Wochentag des Monats ermitteln;93
1.4.22;R28 Den Wochentag eines Datums ermitteln;94
1.4.23;R29 Abschreibungen auf Monatsbasis berechnen;96
1.4.24;R30 Reisespesen berechnen;99
1.4.25;R31 Geldbeträge kaufmännisch runden;102
1.4.26;R32 Fehler bei mathematischen Operationen behandeln;103
1.4.27;R33 Mit Potenzen und Wurzeln rechnen;107
1.4.28;R34 Einen Delegate definieren und anwenden;108
1.4.29;R35 Mit Delegates sortieren (Bubblesort);110
1.4.30;R36 Referenz- oder Wertetypen als Parameter übergeben;113
1.4.31;R37 LINQ im Schnelldurchgang erlernen;116
1.4.32;R38 Strings mit LINQ abfragen und filtern;118
1.4.33;R39 Duplikate aus einer Liste oder einem Array entfernen;120
1.4.34;R40 Arrays mit LINQ initialisieren;123
1.4.35;R41 Arrays per LINQ mit Zufallszahlen füllen;125
1.4.36;R42 Einen String mit Wiederholmuster erzeugen;127
1.4.37;R43 Mit LINQ Zahlen und Strings sortieren;128
1.4.38;R44 Mit LINQ Collections von Objekten sortieren;129
1.4.39;R45 Ergebnisse von LINQ-Abfragen in ein Array kopieren;132
1.4.40;R46 Sortieren mit IComparable/IComparer;132
1.4.41;R47 Mit Async und Await asynchron programmieren;137
1.4.42;R48 Tipps & Tricks;139
1.4.42.1;Die aktuelle Uhrzeit anzeigen;139
1.4.42.2;Die Uhrzeit als DateTime-Datentyp speichern;139
1.4.42.3;Zahlen definiert runden;139
1.4.42.4;Auf das letzte Zeichen im String testen;140
1.4.42.5;Die letzten Zeichen eines Strings abschneiden;140
1.4.42.6;Leerzeichen aus einem String entfernen;140
1.4.42.7;Zur Laufzeit ein Array definieren;140
1.5;3 OOP/Komponenten;142
1.5.1;R49 Überladene versus überschriebene Methoden;142
1.5.2;R50 Aggregation und Vererbung gegenüberstellen;145
1.5.3;R51 Objekte serialisieren;151
1.5.4;R52 Ein wieder verwendbares Formular erstellen;153
1.5.5;R53 Von einem Formular erben;157
1.5.6;R54 Von vorhandenen Steuerelementen erben;161
1.5.7;R55 Eine Komponente zur Farbauswahl entwickeln;165
1.5.8;R56 Eine Digitalanzeige-Komponente programmieren;169
1.5.9;R57 OOP beim Kartenspiel erlernen;175
1.5.10;R58 Eine Klasse zur Matrizenrechnung entwickeln;179
1.5.11;R59 Interop-Typen in die Assembly einbetten;184
1.5.12;R60 Das Observer-Pattern anwenden (Variante 1);187
1.5.13;R61 Das Observer-Pattern anwenden (Variante 2);190
1.5.14;R62 Einen Objektbaum in generischen Listen abspeichern;195
1.5.15;R63 Einen mehrschichtigen Entwurf praktizieren;201
1.6;4 Windows Forms-Anwendungen;218
1.6.1;R64 Das Startformular festlegen;218
1.6.2;R65 Beim Programmstart eine Abfrage ausführen;219
1.6.3;R66 Das Schließen des Formulars verhindern;221
1.6.4;R67 Mit mehreren Formularen arbeiten;222
1.6.5;R68 Eine MDI-Applikation erstellen;226
1.6.6;R69 Formulare im Formular anzeigen;230
1.6.7;R70 Zur Laufzeit ein Steuerelement erzeugen;232
1.6.8;R71 Steuerelemente-Array per Code erzeugen;234
1.6.9;R72 Auf ein Control-Array zugreifen;236
1.6.10;R73 Mit der TextBox arbeiten;239
1.6.11;R74 In einer TextBox suchen;241
1.6.12;R75 Nur Zahleneingaben zulassen;242
1.6.13;R76 Dezimalkomma in Dezimalpunkt umwandeln;244
1.6.14;R77 Die Schrifteigenschaften einer TextBox ändern;244
1.6.15;R78 Tastatureingaben für mehrere TextBoxen filtern;247
1.6.16;R79 RadioButtons und CheckBoxen einsetzen;249
1.6.17;R80 Die ListBox kennen lernen;250
1.6.18;R81 Die ComboBox kennen lernen;253
1.6.19;R82 Objekte in ListBox/ComboBox anzeigen;256
1.6.20;R83 Mit der CheckedListBox arbeiten;259
1.6.21;R84 Die Maus abfragen;261
1.6.22;R85 Das TableLayoutPanel einsetzen;263
1.6.23;R86 Mit einem Kontextmenü arbeiten;267
1.6.24;R87 Einfache Datenbindung praktizieren;269
1.6.25;R88 Anwendungseinstellungen an Steuerelemente binden;272
1.6.26;R89 Mit Drag & Drop arbeiten;276
1.6.27;R90 Mit dem ErrorProvider arbeiten;280
1.6.28;R91 Eingaben validieren;283
1.6.29;R92 Das NotifyIcon-Control in der Taskleiste einsetzen;286
1.6.30;R93 Ein Array in einer ListView anzeigen;290
1.6.31;R94 Eine ListView mit dem Inhalt eines DataSets füllen;292
1.6.32;R95 In der ListView nach beliebigen Spalten sortieren;296
1.6.33;R96 Das Microsoft Chart-Control verwenden;301
1.6.34;R97 WPF-Komponenten mit dem ElementHost anzeigen;305
1.6.35;R98 Die Einstellungen des User-Interface sichern;308
1.6.36;R99 Drag & Drop im Steuerelemente-Array realisieren;312
1.6.37;R100 Programmierung einer mehrspaltigen ListBox;320
1.6.38;R101 Die Tabulatorbreite verändern;323
1.7;5 Windows Presentation Foundation;326
1.7.1;R102 WPF-Anwendung im Fullscreen-Mode starten;326
1.7.2;R103 Fenster auf einem bestimmten Screen anzeigen;327
1.7.3;R104 Das Hauptfenster festlegen und ändern;328
1.7.4;R105 Einen Splash-Screen erzeugen und anzeigen;330
1.7.5;R106 Eine WPF-Browseranwendung erstellen;332
1.7.5.1;Größe und Titel des Browserfensters festlegen;332
1.7.5.2;Größe der Browseranwendung anpassen;333
1.7.5.3;Ein-/Ausblenden der Navigationsschaltflächen;334
1.7.5.4;Navigation zwischen einzelnen Seiten (Pages);335
1.7.5.5;Verwendung von Cookies;337
1.7.5.6;Abfrage von QueryStrings;338
1.7.5.7;Übergabe von Page-Instanzen per Konstruktor;339
1.7.5.8;Eine Instanz der Seite erhalten;340
1.7.5.9;Einen Ersatz für Window realisieren;341
1.7.6;R108 Grafiken in WPF skaliert anzeigen;344
1.7.7;R109 Grafiken aus Dateien zur Laufzeit laden;346
1.7.8;R110 Grafiken aus Ressourcen zur Laufzeit zuweisen;348
1.7.9;R111 Sonderzeichen im Content darstellen;350
1.7.10;R112 Eigene Schriftarten in die Anwendung einbetten;352
1.7.11;R113 WPF-Controls trotz Layout frei positionieren;354
1.7.12;R114 Textformatierungen im Content realisieren;355
1.7.13;R115 Irreguläre Window-Formen erzeugen;356
1.7.14;R116 Einfache Zeichnungen zur Laufzeit ausgeben;358
1.7.15;R117 Programmparameter auswerten;360
1.7.16;R118 Ein Video anzeigen und steuern;362
1.7.17;R119 Schatteneffekt für Controls realisieren;365
1.7.18;R120 Eine TextBox beim Fokuserhalt optisch markieren;367
1.7.19;R121 Den TextBox-Inhalt beim Fokuserhalt markieren;369
1.7.20;R122 Den Pfad der aktuellen Anwendung bestimmen;370
1.7.21;R123 Formulare per Reflection auswählen und anzeigen;371
1.7.22;R124 Datenbindung für Anwendungseinstellungen;372
1.7.23;R125 Deutsches Datumsformat anzeigen;374
1.7.24;R126 Einen Timer in WPF nutzen;376
1.7.25;R127 Das User-Interface am Task-Ende aktualisieren;377
1.7.26;R128 Das User-Interface aus dem Task aktualisieren;379
1.7.27;R129 Collections in Hintergrundthreads füllen;381
1.7.28;R130 Einen Ribbon in meine Anwendung einbinden;386
1.7.29;R131 Das WPF-Chart-Control verwenden;396
1.8;6 Silverlight;400
1.8.1;R132 Den Fokus auf das Silverlight-Plugin setzen;400
1.8.2;R133 Zugriff auf die Zwischenablage realisieren;401
1.8.3;R134 Drag & Drop-Unterstützung realisieren;402
1.8.4;R135 Den Querystring der aktuellen Seite auswerten;405
1.8.5;R136 Dokumente in Silverlight drucken;406
1.8.6;R137 Einen Webcam-Screenshot drucken;408
1.8.7;R138 ASP.NET- und WCF-Dienste einbinden;413
1.8.8;R139 Die WCF Data Services nutzen;421
1.8.9;R140 Eine Desktop-Anwendung erzeugen;429
1.8.10;R141 Assemblies nachladen;434
1.8.11;R142 Daten per ZIP-Datei nachladen;437
1.8.12;R143 Kommunikation zwischen Plugins realisieren;439
1.8.13;R144 Einen Timer in Silverlight nutzen;443
1.8.14;R145 Weitere Dialogfenster öffnen;445
1.8.15;R146 Dateien auf dem Client speichern;447
1.9;7 Windows Store Apps;450
1.9.1;R147 Den App-Aufbau verstehen und ändern;450
1.9.2;R148 Die Startseite festlegen;454
1.9.3;R149 Prüfen, ob die App zum ersten Mal gestartet wurde;457
1.9.4;R150 App-Zustände vor dem Programmende sichern;458
1.9.5;R151 Anmeldedaten sicher speichern;465
1.9.6;R152 Zwischen App-Seiten navigieren;469
1.9.7;R153 Informationen zwischen Seiten austauschen;474
1.9.8;R154 Auflösungsabhängige Bild-Ressourcen einbetten;474
1.9.9;R155 Einer App ein anderes Theme zuweisen;478
1.9.10;R156 Die Windows-Kontakt-Liste verwenden;482
1.9.11;R157 Eine E-Mail versenden;485
1.9.12;R158 Apps in die Windows 8-Suche integrieren;488
1.9.13;R159 Das Einstellungen-Panel verwenden;495
1.9.14;R160 Einstellungen über mehrere Geräte synchronisieren;505
1.9.15;R161 Auf Größen- und Formatänderungen reagieren;505
1.9.16;R162 Die Modern UI-Live Tiles ansteuern;510
1.9.17;R163 Eine Dateiverknüpfung erstellen;516
1.9.18;R164 Die Zwischenablage verwenden;520
1.9.19;R165 Daten anderen Apps zur Verfügung stellen;527
1.9.20;R166 Daten aus anderen Apps konsumieren;531
1.9.21;R167 FilePicker für die Dateiauswahl verwenden;541
1.9.22;R168 Von der MessageBox zum MessageDialog;546
1.9.23;R170 Einen Style zur Laufzeit zuweisen;550
1.9.24;R171 Eine App per Code beenden;551
1.9.25;R172 Die Positionskoordinaten für Google-Maps nutzen;551
1.9.26;R173 Eine Pause realisieren;556
1.9.27;R174 Global auf Tasteneingaben reagieren;558
1.9.28;R175 Einen Timer programmieren;560
1.9.29;R176 Die aktuelle Bildschirmauflösung ermitteln;561
1.9.30;R177 Auf ein Touch-Eingabegerät testen;563
1.9.31;R178 Prüfen, ob eine Tastatur angeschlossen ist;565
1.9.32;R179 Die virtuelle Tastatur richtig einsetzen;565
1.9.33;R180 Prüfen, ob eine Internetverbindung verfügbar ist;567
1.9.34;R181 Informationen über das aktuelle Package abrufen;569
1.9.35;R182 Das Verzeichnis der App bestimmen;572
1.9.36;R183 Soundausgaben im Background realisieren;572
1.9.37;R184 Audiodaten aufnehmen und wiedergeben;578
1.9.38;R185 Bilder/Videos mit dem WinRT-Dialog aufnehmen;582
1.9.39;R186 Bilder/Videos mit eigenem Userinterface aufnehmen;586
1.9.40;R187 Windows Store Apps richtig debuggen;591
1.9.41;R188 Apps auf einem anderen PC installieren;596
1.10;8 Schnittstellen;598
1.10.1;R189 Eine einfache E-Mail versenden;598
1.10.2;R190 E-Mails mit dem integrierten Mail-Client versenden;599
1.10.3;R191 Die Zwischenablage verwenden;601
1.10.4;R192 Die WIA-Library kennenlernen;602
1.10.4.1;Installation/Vorbereitung;603
1.10.4.2;Einstieg mit kleiner Beispielanwendung;604
1.10.4.3;Reagieren auf das Verbinden/Trennen von Geräten;606
1.10.4.4;Ermitteln der verfügbaren Geräte;606
1.10.4.5;Anzeige der Geräteeigenschaften;607
1.10.4.6;Ein Bild einlesen;608
1.10.4.7;Bild(er) drucken per Assistent;611
1.10.4.8;Den Scanner-Assistent aufrufen;612
1.10.4.9;Grafikbearbeitung mit WIA;613
1.10.5;R193 Auf eine Webcam zugreifen;614
1.10.6;R194 Auf den Scanner zugreifen;617
1.10.7;R195 Auf die serielle Schnittstelle zugreifen;622
1.10.8;R196 OpenOffice.org Writer per OLE steuern;625
1.10.9;R197 Mit OLE-Automation auf MS Access zugreifen;633
1.10.10;R198 Ein Managed Add-In programmieren und einbinden;637
1.10.11;R199 Sound per MCI aufnehmen;645
1.10.12;R200 Mikrofonpegel anzeigen;649
1.10.13;R201 Pegeldiagramm aufzeichnen;650
1.10.14;R202 Sound-und Video-Dateien per MCI abspielen;654
1.10.15;R203 Eine C-DLL in VB einbinden;662
1.11;9 System;670
1.11.1;R204 Nutzer und Gruppen des Systems ermitteln;670
1.11.2;R205 Testen, ob Nutzer in einer Gruppe enthalten ist;671
1.11.3;R206 Testen, ob der Nutzer ein Administrator ist;673
1.11.4;R207 Die IP-Adressen des Computers bestimmen;675
1.11.5;R208 Die IP-Adresse über den Hostnamen bestimmen;676
1.11.6;R209 Diverse Systeminformationen ermitteln;677
1.11.6.1;Betriebssystem (Name, Version, Bootmode);677
1.11.6.2;Schriftarten/-Informationen;678
1.11.6.3;Bildschirme;679
1.11.6.4;Netzwerk (User-Name, PC-Name ...);680
1.11.6.5;Environment Variablen auslesen;681
1.11.6.6;Energiestatus;682
1.11.6.7;Hardware-Informationen;682
1.11.6.8;Anwendung (Pfad, Name, Assemblies);683
1.11.6.9;Soundkarte(n);684
1.11.6.10;CLR-Version;685
1.11.7;R210 Alles über den Bildschirm erfahren;685
1.11.8;R211 Die Registrierdatenbank verwenden;686
1.11.9;R212 Eine verknüpfte Anwendung öffnen;690
1.11.10;R213 Eine Dateiverknüpfung erzeugen;690
1.11.11;R214 Den Computer herunterfahren oder neu starten;692
1.11.12;R215 Den "Herunterfahren"-Dialog anzeigen;696
1.11.13;R216 Das System-Shutdown-Ereignis auswerten;698
1.11.14;R217 Windows in den Standby-Modus versetzen;698
1.11.15;R218 Systemereignisse auswerten;699
1.11.16;R219 Windows Botschaften verarbeiten;700
1.11.17;R220 Alle geöffneten Windows Fenster ermitteln;702
1.11.18;R221 Die Taskbar Notification Area (TNA) verwenden;705
1.11.19;R222 Neue Programmgruppen erzeugen;707
1.11.20;R223 Verknüpfungen auf dem Desktop erzeugen;709
1.11.21;R224 Den Bildschirmschoner aktivieren/deaktivieren;711
1.11.22;R225 Drag & Drop mit dem Explorer realisieren;712
1.11.23;R226 System-Icons verwenden;713
1.11.24;R227 Die Desktop-Icons ein-/ausblenden;714
1.11.25;R228 Die Taskbar ausblenden;715
1.11.26;R229 Den Papierkorb leeren;716
1.11.27;R230 Den Windows Suchassistenten verwenden;717
1.11.28;R231 Systemtöne und WAV-Dateien wiedergeben;719
1.11.29;R232 Das Windows-Systemprotokoll nutzen;721
1.11.30;R233 Das Windows-Systemprotokoll überwachen;723
1.11.31;R234 Die Zwischenablage überwachen und anzeigen;724
1.11.32;R235 Das Datei-Eigenschaftenfenster anzeigen;727
1.11.33;R236 Prüfen, ob Visual Styles aktiviert sind;729
1.11.34;R237 Schriftarten dynamisch einbinden und verwenden;730
1.11.35;R238 Eine Soundkarte erkennen;732
1.11.36;R239 Prozess- und Thread-Informationen gewinnen;733
1.11.37;R240 Ein externes Programm starten;737
1.11.38;R241 Eine externe Anwendung starten und überwachen;740
1.11.39;R242 Erhöhte Berechtigungen erhalten;742
1.12;10 Sonstiges;748
1.12.1;R243 Logische Fehler mittels Debugger aufspüren;748
1.12.2;R244 Eigene Fehlerklassen definieren;755
1.12.3;R245 Die MessageBox-Klasse verwenden;757
1.12.4;R246 Nur eine Anwendungsinstanz zulassen;759
1.12.5;R247 Die Anwendungsparameter auswerten;761
1.12.6;R248 Tastaturbefehle senden;763
1.12.7;R249 Mittels Reflection Typinformationen sammeln;766
1.12.8;R250 Ressourcen per Reflection auslesen;768
1.12.9;R251 Methode per Reflection oder Late Binding aufrufen;771
1.12.10;R252 Mehrere Methoden parallel verarbeiten;773
1.12.11;R253 Arrays parallel verarbeiten;777
1.12.12;R254 Client/Server-Anwendung mit zwei Projekten;781
1.12.13;R255 Eine Windows Form-Anwendung lokalisieren;784
1.12.14;R256 Eine Assembly dynamisch einbinden;788
1.12.15;R257 ILSpy zum "Schnüffeln" verwenden;791
1.12.16;R258 Eine GUID erzeugen;794
1.12.17;R259 Bytes in Megabyte umrechnen;794
1.12.18;R260 Hex-Dezimal-Bytes-Konverter;795
1.12.19;R261 Einen langen Hex-String in Bytes umwandeln;799
1.12.20;R262 Einen String verschlüsseln;801
1.12.21;R263 Die Verwendung von DoEvents verstehen;803
1.12.22;R264 Eine Pause realisieren;806
1.12.23;R265 Numerische Integration verstehen;807
1.12.24;R266 Hilfedateien programmieren;811
1.12.25;R267 Hilfedateien in die VB-Anwendung einbinden;815
1.12.26;R268 Eine alternative Hilfe-IDE verwenden;819
1.12.27;R269 Installationsdateien erzeugen;820
1.12.28;R270 Eine farbige Konsolenanwendung realisieren;831
1.12.29;R271 Lesbare Menüleisten in Visual Studio 2012 anzeigen;833
1.13;Index;834
2;Ergänzungsband
;850
2.1;Inhaltsverzeichnis
;852
2.2;Zweites Vorwort;862
2.3;11 Kleiner OOP-Crashkurs;864
2.3.1;R272 Klassen und Objekte verstehen;864
2.3.2;R273 Einen eigenen Konstruktor implementieren;869
2.3.3;R274 Eigenschaften kapseln;871
2.3.4;R275 Vererbung und Polymorphie anwenden;874
2.3.5;R276 Ereignisse programmieren;881
2.3.6;R277 Das Observer-Pattern demonstrieren;885
2.3.7;R278 Multicast-Events verwenden;894
2.3.8;R279 Das Microsoft Event Pattern implementieren;896
2.4;12 Grafikprogrammierung;902
2.4.1;R280 Ein Graphics-Objekt erzeugen;902
2.4.2;R281 Verbundene Linien und Pfeile zeichnen;905
2.4.3;R282 Eine gemusterte Linie zeichnen;906
2.4.4;R283 Rechtecke und Ellipsen zeichnen;907
2.4.5;R284 Rechtecke mit runden Ecken zeichnen;909
2.4.6;R285 Transparente Farben verwenden;910
2.4.7;R286 Ein Tortendiagramm zeichnen;912
2.4.8;R287 Die Grafikdialoge richtig einsetzen;913
2.4.9;R288 Ein Control-Array mit Grafiken ausstatten;914
2.4.10;R289 Einen grafischen Würfel programmieren;918
2.4.11;R290 Den Abstand zwischen zwei Punkten berechnen;920
2.4.12;R291 Ein einfaches Balkendiagramm zeichnen;922
2.4.13;R292 Das Mischen von Farbwerten verstehen;926
2.4.14;R293 Eine Verkehrsampel programmieren;930
2.4.15;R294 Eine 2D-Vektorgrafik manipulieren;934
2.4.16;R295 Geometrische Transformationen durchführen;938
2.4.17;R296 Eine Grafik scrollen;941
2.4.18;R297 Eine Bitmap erzeugen und als Datei speichern;942
2.4.19;R298 Eine Metafilegrafik erzeugen und speichern;943
2.4.20;R299 Einen Fenster-Screenshot erzeugen;944
2.4.21;R300 Einen Desktop-Screenshot realisieren;946
2.4.22;R301 Auf dem Windows-Desktop zeichnen;949
2.4.23;R302 Eine Grafik aus den Programmressourcen laden;951
2.4.24;R303 Zwei Farbwerte miteinander vergleichen;952
2.4.25;R304 Einen Farbverlauf erzeugen;953
2.4.26;R305 Einen transparenten Stift erzeugen;954
2.4.27;R306 Texte gedreht ausgeben;955
2.4.28;R307 Text mit Schatten ausgeben;957
2.4.29;R308 Mehrzeiligen Text ausgeben;958
2.4.30;R309 Text mit Tabulatoren ausgeben;959
2.4.31;R310 Die installierten Schriftarten ermitteln;960
2.4.32;R311 Die JPEG-Kompression festlegen;961
2.4.33;R312 Eine Grafik maskieren;963
2.4.34;R313 Die Transparenz einer Grafik steuern;965
2.4.35;R314 Einfache GIF-Animationen wiedergeben;967
2.4.36;R315 Auf einzelne GIF-Frames zugreifen;968
2.4.37;R316 Aus animierten Gifs ein Bitmap-Strip erzeugen;970
2.4.38;R317 Flackernde Grafikausgaben vermeiden;971
2.4.39;R318 Einfache Grafikanimationen realisieren;974
2.4.40;R319 RGB-Grafiken manipulieren;976
2.4.41;R320 Einen Markierungsrahmen erzeugen;982
2.4.42;R321 Zeichenoperationen mit der Maus realisieren;984
2.4.43;R322 Ein Testbild programmieren;987
2.5;13 Drucker/Drucken;992
2.5.1;R323 Mit Visual Basic drucken;992
2.5.2;R324 Den Windows Standard-Drucker ermitteln;993
2.5.3;R325 Den Windows Standard-Drucker ändern;994
2.5.4;R326 Die verfügbaren Drucker ermitteln;995
2.5.5;R327 Einen Drucker auswählen;996
2.5.6;R328 Papierformate und Seitenabmessungen bestimmen;997
2.5.7;R329 Den physikalischen Druckbereich ermitteln;998
2.5.8;R330 Die aktuelle Seitenausrichtung ermitteln;999
2.5.9;R331 Testen ob es sich um einen Farbdrucker handelt;1000
2.5.10;R332 Die physikalische Druckauflösung abfragen;1000
2.5.11;R333 Prüfen, ob beidseitiger Druck möglich ist;1002
2.5.12;R334 Einen Informationsgerätekontext erzeugen;1002
2.5.13;R335 Drucken in Millimetern;1004
2.5.14;R336 Die Seitenränder für den Druck festlegen;1005
2.5.15;R337 Den Druckjobnamen festlegen;1007
2.5.16;R338 Die Anzahl der Kopien festlegen;1007
2.5.17;R339 Beidseitigen Druck realisieren;1008
2.5.18;R340 Bestimmte Seitenbereiche drucken;1009
2.5.19;R341 Den PageSetup-Dialog verwenden;1014
2.5.20;R342 Das Windows-Drucker-Fenster anzeigen;1016
2.5.21;R343 Eine Textdatei drucken;1017
2.5.22;R344 Den Inhalt einer TextBox drucken;1020
2.5.23;R345 Den Drucker umfassend konfigurieren;1022
2.5.24;R346 Mit Microsoft Word per OLE drucken;1031
2.5.25;R347 Ein Microsoft Word-Formulare füllen und drucken;1035
2.5.26;R348 Mit Microsoft Access drucken;1038
2.5.27;R349 Die Drucker-Konfiguration anzeigen;1040
2.5.28;R350 Diverse Druckereigenschaften bestimmen;1041
2.5.29;R351 Dokumente mit dem Internet Explorer drucken;1043
2.5.30;R352 Einen Drucker anhalten;1044
2.6;14 Dateien/Verzeichnisse;1046
2.6.1;R353 Mit den Dateidialogen auf eine Textdatei zugreifen;1046
2.6.2;R354 Alle Unterverzeichnisse auflisten;1050
2.6.3;R355 Alle Dateien auflisten;1051
2.6.4;R356 Die GetFileSystemInfos-Methode einsetzen;1052
2.6.5;R357 Die Path-Klasse kennen lernen;1054
2.6.6;R358 Verzeichnis- und Datei-Informationen gewinnen;1055
2.6.7;R359 Änderungen im Dateisystem überwachen;1058
2.6.8;R360 Dateien rekursiv suchen;1061
2.6.9;R361 Eine sequenzielle Datei lesen und schreiben;1063
2.6.10;R362 Serialisierte Objekte in einer Datei abspeichern;1066
2.6.11;R363 Den Inhalt einer ListView als Datei abspeichern;1070
2.6.12;R364 Den Verzeichnisinhalt in einer ListView anzeigen;1075
2.6.13;R365 Einen Verzeichnisbaum in eine TreeView einlesen;1078
2.6.14;R366 Eine Datei verschlüsseln;1080
2.6.15;R367 Eine Datei komprimieren;1083
2.6.16;R368 Echte ZIP-Dateien erstellen;1085
2.6.17;R369 Die vorhandenen Laufwerke feststellen;1087
2.6.18;R370 Datei-Ladefortschritt mit ProgressBar anzeigen;1088
2.6.19;R371 PDFs erstellen/exportieren;1090
2.6.20;R372 Eine CSV-Datei erstellen;1093
2.6.21;R373 Eine CSV-Datei mit LINQ lesen und auswerten;1096
2.6.22;R374 Einen korrekten Dateinamen erzeugen;1099
2.7;15 XML;1100
2.7.1;R375 DataSets in XML-Strings konvertieren;1100
2.7.2;R376 DataSets in XML-Dateien speichern;1104
2.7.3;R377 In Dokumenten mit dem XPathNavigator navigieren;1107
2.7.4;R378 In Dokumenten mit XElement/XDocument navigieren;1111
2.7.5;R379 In Dokumenten mit dem XPathNavigator suchen;1116
2.7.6;R380 Hierarchische Daten in einer TreeView darstellen;1118
2.7.7;R381 XML-Daten mit dem XmlReader lesen;1122
2.7.8;R382 XML-Daten mit LINQ to XML einlesen/filtern;1124
2.7.9;R383 XML-Daten mit dem XmlWriter erzeugen;1126
2.7.10;R384 XML-Dokumente mit LINQ to XML erzeugen;1129
2.7.11;R385 Verzeichnisstruktur als XML-Dokument sichern;1130
2.7.12;R386 Binäre Daten in einem XML-Dokument speichern;1133
2.7.13;R387 Objektstrukturen im XML-Format sichern;1135
2.7.14;R388 XML-Dokumente mit XSLT transformieren;1141
2.7.15;R389 XML-Dokumente mit LINQ transformieren;1143
2.7.16;R390 XML-Daten mit XmlDataDocument bearbeiten;1145
2.7.17;R391 XML-Daten in SQL Server-Tabellen speichern;1147
2.7.18;R392 XML-Dokumente in Webanwendungen anzeigen;1149
2.8;16 ADO.NET;1154
2.8.1;R393 Auf eine Access-Datenbank zugreifen;1154
2.8.2;R394 Auf den SQL Server zugreifen;1157
2.8.3;R395 ConnectionString in Konfigurationsdatei ablegen;1159
2.8.4;R396 Den DataReader kennen lernen;1162
2.8.5;R397 Minimaler DB-Client für Lese- und Schreibzugriff;1163
2.8.6;R398 Schemainformationen verwenden;1166
2.8.7;R399 Query Notifications verwenden;1169
2.8.8;R400 Mit einer Datenquelle arbeiten;1173
2.8.9;R401 Eine Aktionsabfrage ausführen;1180
2.8.10;R402 Daten direkt hinzufügen oder löschen;1182
2.8.11;R403 Gespeicherte Prozeduren aufrufen;1185
2.8.12;R404 Eine Access-Auswahlabfrage aufrufen;1188
2.8.13;R405 Parametrierte Abfragen unter MS Access ausführen;1190
2.8.14;R406 Parametrierte Abfragen für SQL Server ausführen;1192
2.8.15;R407 Datumswerte in SQL-Anweisungen einbauen;1193
2.8.16;R408 Die Datenbank manuell aktualisieren;1196
2.8.17;R409 Die Datenbank mit CommandBuilder aktualisieren;1200
2.8.18;R410 Mit Stapel-Abfragen arbeiten;1201
2.8.19;R411 RowUpdating-/RowUpdated-Ereignisse verwenden;1203
2.8.20;R412 MARS kennen lernen;1205
2.8.21;R413 Auf Zeilen und Spalten der DataTable zugreifen;1209
2.8.22;R414 Eine ListBox an einen DataView binden;1211
2.8.23;R415 Das DataGridView mit ComboBoxen ausrüsten;1213
2.8.24;R416 Auf eine einzelne Zeile im DataGridView zugreifen;1215
2.8.25;R417 DataTable erzeugen und in Binärdatei speichern;1218
2.8.26;R418 Eine DataTable in einer XML-Datei abspeichern;1222
2.8.27;R419 Die RemotingFormat-Property des DataSets nutzen;1223
2.8.28;R420 Master-Detail-Beziehungen im DataGrid anzeigen;1226
2.8.29;R421 Im DataView sortieren und filtern;1228
2.8.30;R422 Im DataView nach Datensätzen suchen;1230
2.8.31;R423 Zwischen DataTable und DataReader umwandeln;1232
2.8.32;R424 Steuerelemente manuell an ein DataSet binden;1234
2.8.33;R425 Datensätze im Detail-Formular editieren;1239
2.8.34;R426 Tabellen mittels ComboBox verknüpfen;1244
2.8.35;R427 Spalten und Zeilen im DataGridView formatieren;1248
2.8.36;R428 DataReader in einer ListView anzeigen;1250
2.8.37;R429 Bilder aus der Datenbank anzeigen;1253
2.8.38;R430 Ein ungebundenes DataSet erzeugen;1256
2.8.39;R431 Ein typisiertes DataSet im Designer erzeugen;1259
2.8.40;R432 Ein typisiertes DataSet befüllen;1262
2.8.41;R433 Eine LINQ to SQL-Abfrage realisieren;1264
2.9;17 ASP.NET/Webdienste;1268
2.9.1;R434 Eine einfache Webanwendung erstellen;1268
2.9.2;R435 Tabellen mit der Table-Komponente erstellen;1274
2.9.3;R436 Daten zwischen Web Forms austauschen;1281
2.9.4;R437 Informationen über den Browser ermitteln;1284
2.9.5;R438 Die Bildschirmauflösung des Clients ermitteln;1286
2.9.6;R439 Das Browser-Fenster maximieren;1287
2.9.7;R440 Cookies in ASP.NET-Anwendungen verwenden;1288
2.9.8;R441 HTML-Ausgaben an den Client senden;1290
2.9.9;R442 Bilder/Dateien an den Client senden;1292
2.9.10;R443 Die IP-Adresse des Clients abfragen;1293
2.9.11;R444 Die Anzahl der Seitenaufrufe eines Users ermitteln;1294
2.9.12;R445 Auf den Fehlercode 404 reagieren;1295
2.9.13;R446 Die Validierung temporär deaktivieren;1298
2.9.14;R447 Den Eingabefokus bei Validierung setzen;1298
2.9.15;R448 Eine clientseitige Validierung realisieren;1298
2.9.16;R449 Die Zellen in einem GridView formatieren;1299
2.9.17;R450 Ein GridView mit Bildlaufleisten realisieren;1301
2.9.18;R451 Einen Mouseover-Effekte im GridView realisieren;1302
2.9.19;R452 Keine Daten im GridView vorhanden;1303
2.9.20;R453 Daten einfach ins MS Excel-Format exportieren;1304
2.9.21;R454 Berechnungen in GridView-Zeilen realisieren;1307
2.9.22;R455 Spaltensummen im GridView berechnen;1308
2.9.23;R456 Währungswerte im GridView korrekt anzeigen;1310
2.9.24;R457 Eine Validierung im GridView realisieren;1311
2.9.25;R458 Mit einem Popup-Fenster Detaildaten anzeigen;1313
2.9.26;R459 Eine Sicherheitsabfrage realisieren;1317
2.9.27;R460 E-Mail-Versand in ASP.NET realisieren;1318
2.9.28;R461 Verzeichnisbäume mit der TreeView anzeigen;1320
2.9.29;R462 Datenaustausch zwischen ClientScript und Server;1323
2.9.30;R463 Dateien auf den Server hochladen;1324
2.9.31;R464 Ein ASP.NET-Menü dynamisch erzeugen;1325
2.9.32;R465 Die Browser-Kopfzeile zur Laufzeit ändern;1327
2.9.33;R466 Einen Zeilenumbruch im Label-Control realisieren;1328
2.9.34;R467 HTML-Zeichenfolgen im Browser anzeigen;1328
2.9.35;R468 Die Browser-Scrollposition wiederherstellen;1330
2.9.36;R469 Dateien eines Unterverzeichnisses auflisten;1330
2.9.37;R470 MouseOver-Effekte für Controls realisieren;1332
2.9.38;R471 Server Controls zur Laufzeit erzeugen;1333
2.9.39;R472 Doppelklicks auf Schaltflächen verhindern;1336
2.9.40;R473 Das Browserfenster per Client-Skript schließen;1337
2.9.41;R474 Ein ASP.NET User Control programmieren;1338
2.9.42;R475 Grafikausgaben per User Control realisieren;1341
2.9.43;R476 Eine Webseite per JavaScript drucken;1345
2.9.44;R477 Die Upload-Begrenzung ändern;1345
2.9.45;R478 Ein Projekt auf den IIS exportieren;1346
2.9.46;R479 Ärger mit den Cookies vermeiden;1347
2.9.47;R480 Einen XML-Webdienst programmieren;1349
2.9.48;R481 Einen Webdienst-Client erstellen;1353
2.9.49;R482 Datenbankzugriffe mit Webdiensten realisieren;1358
2.9.50;R483 Einen Webverweis aktualisieren;1373
2.9.51;R484 Authentifikation für Webdienste nutzen;1374
2.9.52;R485 Caching in Webdiensten realisieren;1375
2.9.53;R486 Den Microsoft IIS nachträglich installieren;1377
2.9.54;R487 Die AJAX-Controls verwenden;1380
2.9.55;R488 Datenbindung mittels EntityDataSource realisieren;1382
2.9.56;R489 Den QueryExtender zum Filtern verwenden;1388
2.9.57;R490 Tipps & Tricks;1392
2.9.57.1;Ärger mit Leerzeichen in URLs vermeiden;1392
2.9.57.2;Testen, ob Nutzer angemeldet ist;1393
2.9.57.3;Den Namen des aktuellen Nutzers ermitteln;1393
2.9.57.4;Eine zufällige Datei zur Anzeige auswählen;1393
2.9.57.5;Einen Datei speichern unter-Dialog anzeigen lassen;1394
2.9.57.6;Anwendungseinstellungen in der Web.config sichern;1395
2.10;18 Reporting Services;1398
2.10.1;R491 Einen einfachen Bericht entwerfen;1398
2.10.2;R492 Einen Bericht ohne Assistentenhilfe erstellen;1403
2.10.3;R493 Im Bericht sortieren;1406
2.10.4;R494 Im Bericht filtern;1410
2.10.5;R495 Weitere Tipps & Tricks;1413
2.10.5.1;Trennlinien in Tabellen realisieren;1413
2.10.5.2;Währungsformatierung;1414
2.10.5.3;Datumsformatierung;1414
2.10.5.4;Wechselnde Zeilenfarben zuweisen;1414
2.10.5.5;Anzeige von True und False in Boolean-Feldern vermeiden;1414
2.10.5.6;Anzeige von Nullwerten unterdrücken;1415
2.10.5.7;Abstand zwischen zwei Tabellenspalten vergrößern;1415
2.10.5.8;Die lästigen Sekunden beseitigen;1415
2.10.5.9;Nachkommastellen festlegen;1415
2.10.5.10;Werte berechnen und formatieren;1415
2.10.5.11;Weitere Informationen zu den Microsoft Reporting Services;1415
2.11;19 Komplexbeispiele;1416
2.11.1;R496 Kleines Textverarbeitungsprogramm;1416
2.11.1.1;MDI-Rahmenfenster;1417
2.11.1.2;MDI-Kindfenster;1417
2.11.1.3;Menüs zusammenführen;1419
2.11.1.4;PopUp-Menü hinzufügen;1421
2.11.1.5;Programmtest;1428
2.11.1.6;Dokumente drucken;1428
2.11.1.7;Bemerkungen zur RichTextBox;1433
2.11.2;R497 Buchungssystem mit Random Access Datei;1433
2.11.2.1;Klassenübersicht;1433
2.11.2.2;Entwicklung des Geschäftsmodells;1434
2.11.2.3;Programmtest;1444
2.11.3;R498 Ein einfacher FTP-Client;1446
2.11.3.1;Auflisten des FTP-Verzeichnisses;1447
2.11.3.2;Herunterladen einer Datei per FTP;1448
2.11.3.3;Heraufladen einer Datei per FTP;1449
2.11.3.4;Löschen einer Datei im FTP-Verzeichnis;1450
2.11.3.5;Bedienfunktionen;1451
2.11.3.6;Programmtest;1451
2.11.4;R499 Lösen von linearen Gleichungssystemen;1453
2.11.4.1;Ein wenig Theorie;1453
2.11.4.2;Komponente CTBMatrix;1455
2.11.4.3;Programmtest;1459
2.11.5;R500 Rechner für komplexe Zahlen;1462
2.11.5.1;Was sind komplexe Zahlen?;1462
2.11.5.2;Programmierung der Klasse CComplexN;1463
2.11.5.3;Programmtest;1468
2.11.6;R501 Formel-Rechner mit dem CodeDOM;1470
2.11.6.1;Basisversion des Rechners;1471
2.11.6.2;Funktionsverlauf grafisch darstellen;1475
2.12;Anhang;1480
2.12.1;A Glossar;1480
2.12.2;B Wichtige Datei-Extensions;1485
2.13;Index;1486
|