lehrerbibliothek.deDatenschutzerklärung
Visual Basic .NET ENT-PACKT
Visual Basic .NET
ENT-PACKT




Jeffrey Shapiro

mitp-Verlag
EAN: 9783826608988 (ISBN: 3-8266-0898-4)
864 Seiten, paperback, 18 x 24cm, 2003

EUR 39,90
alle Angaben ohne Gewähr

Umschlagtext
Dieses Handbuch behandelt umfassend und detailliert die wichtigsten Aspekte der Programmierung mit Visual Basic .NET. Hierbei geht der Autor anhand zahlreicher Beispiele insbesondere auf die praktische Anwendung der Sprache ein. Gleichzeitig wird der Stoff so präsentiert, dass das Buch auch als Nachschlagewerk dienen kann.



Das Handbuch zu Visual Basic .NET ist in vier Teile gegliedert: Die Teile 1 und 2 behandeln das .NET Framework, die Entwicklungsumgebung und die Grundlagenkonzepte von Visual Basic .NET. Dies umfasst eine ausführliche Behandlung aller Operatoren und Kontrollstrukturen sowie die Verwendung, das Design und den Aufbau von Methoden. Teil 3 beschreibt detailliert die objektorientierte Programmierung mit Visual Basic .NET. Hierzu gehören die Anwendung von Klassen und Objekten wie z.B. der Aufbau von Basisklassen und abstrakten Klassen sowie die Vererbung. Des Weiteren geht der Autor ausführlich auf die Arbeit mit Schnittstellen ein wie z.B. deren Deklaration und Definition bis hin zur Implementierung und Instanziierung. Weitere wichtige Themen des dritten Teils sind die Ausnahmebehandlung, Entwurfsmuster, Datenverarbeitung und die Ein- und Ausgabe. Teil 4 beschäftigt sich mit der Softwareentwicklung unter Visual Basic .NET Hierbei geht es insbesondere um die Schnittstelle zum Endanwender sowie das Threading, die Steuerelemente und Menüs sowie den Umgang mit Benutzereingaben. Das letzte Kapitel behandelt schließlich das Debugging und Tracing.





Aus dem Inhalt:

• Operatoren, Kontrollstrukturen und Methoden

• Typen, Strukturen und Enumerationen

• Objektorientierte Softwareentwicklung

• Schnittstellen: Design und Implementierung

• Ausnahmebehandlung und Exception-Klassen

• Collections, Arrays und andere Datenstrukturen

• Designkonzepte: Muster, Rollen und Beziehungen

• Datenverarbeitung und I/O

• Debugging und Tracing



Alle Quellcode-Beispiele können Sie sich kostenlos aus dem Web downloaden!
Verlagsinfo
Visual Basic .NET ist eine objektorientierte Programmiersprache, die bei der Entwicklung von Datenbankprojekten und datenbankgestützten Webanwendungen neue Wege eröffnet, bestehende Aufgaben einfacher und besser zu lösen. In diesem Buch erfahren Sie, wie Sie Visual Basic.NET für Ihre Projekte nutzen können. Die entpackte Referenz deckt alle Themenbereiche von Visual Basic NET ab. Sie enthält sämtliche DatenTypen, Variablen und Operatoren, Prozeduren, Arrays, Klassen & Objekte, Namensräume und Debugging. Der Autor erläutert die .NET-Entwicklungsumgebung und erklärt den Datenbankzugriff über ADO.NET und XML. Ein wichtiger Bereich ist die Zusammenarbeit von VB.NET mit dem Web. Sie finden sämtliche Befehle zur Erstellung von Web Forms und ASP.NET-Applikationen sowie Funktionen für Internet-anwendungen und GUI-Komponenten. Erstellen Sie mit VB.NET Graphiken, implementieren Sie Web Services und entwickeln Sie verteilte Anwendungen sowie Softwaredienste.
Inhaltsverzeichnis
Einführung 25


Teil 1: Einführung in Visual Basic .NET 35


Kapitel 1: Software-Entwicklung mit Visual Basic .NET 35

Visual Basic und die Schwierigkeiten der Software-Entwicklung 35
Komplexität reduzieren und Time-to-Market durch Wiederverwendung 36
Software-Entwicklung und Software-Engineering 37
Die klassischen Programmiermodelle 38
Strukturierte Programmierung 39
Code mit weniger Bugs 40
Teile und herrsche 40
Wiederverwendung 40
Teaming 41
Strukturierte Gleichgültigkeit? 41
Objektbasierte Programmierung 41
Objektorientierte Software-Entwicklung 42
Reflexionen über die (reale) Welt 43
Was macht eine reine objektorientierte Sprache aus? 44
Nur Klassen 45
Klassen für Modularität, Kohäsion und Koppelung 45
Klassen für die Abstraktion 47
Klassen für die Kapselung 47
Klassen zum Verbergen von Informationen 48
Klassen für Klassifikationen 49
Klassen zeugen Klassen - Vererbung 49
Klassen für Objekte - Instanziierung 50
Klassen für die Assoziation, Aggregation und Komposition 50
Klassen für Ereignisse 51
Klassen zur Nachrichtenübermittlung 51
Klassen für Polymorphie 51
Klassen für Schnittstellen 52
Frameworks 52
Muster 53
Schlussbetrachtung 54

Kapitel 2: Visual Basic .NET und .NET Framework 55

Die Runtime des Frameworks 56
Common Type System (CTS) 56
Die Common Language Specification (CLS) 57
Die Common Language Runtime (CLR) 60
Microsoft Intermediate Language 62
Metadaten 63
Ausführbarer Code 64
Verwaltete Ausführung 65
Side-by-Side-Ausführung 66
Application Domains 66
Automatische Speicherverwaltung 67
Just-in-Time-Weitergabe 68
AssembliesAssemblies verstehen 70
Wie Assemblies gefunden werden 71
Was ist in einer Assembly enthalten? 71
Die Rollen der Assembly 76
Attribute, Reflections und Assemblies 78
Starke Namen 79
Das .NET-Sicherheitsmodell 79
Schlussbetrachtung 82


Teil 2: Grundlagen von Visual Basic .NET 83


Kapitel 3: Die Entwicklungsumgebung von Visual Basic .NET 83

Wie Sie mit der IDE von Visual Studio arbeiten 84
Navigieren in der IDE 85
Die Startseite 94
Projektmappe in Visual Basic .NET erstellen 96
Laden der Projektmappe Vb7cr 97
Neues Projekt erstellen 98
Ordnerstruktur der Projektmappe 103
Dateinamenerweiterungen 103
Mit der Basisklassenbibliothek umgehen 104
Eine Minimalanwendung in Visual Basic .NET 108
Schlussbetrachtung 110

Kapitel 4: Grundelemente von Visual Basic .NET 111

Visual Basic .NET - die Grundlagen 111
Lexikalische Elemente 112
Präprozessor-Direktiven 112
Allgemeine Konzepte 113
Die Direktiven Options, Imports und Namespace 113
Typen 113
Typelemente 114
Anweisungen und Anweisungsblöcke 114
Ausdrücke 115
Operatoren 116
Ihr kleiner Style Guide für Visual Basic .NET 116
Namen und Notation 117
Ungarische Notation 118
Wortwahl 119
So fangen Sie an 119
Zeichen und Zeilen 120
Anweisungen und Blöcke 124
Nothing 125
Klassen, Typen und Objekte - worin besteht der Unterschied? 126
Klassen - von oben gesehen 127
Der Klassendeklarationsraum 128
Der Direktivenraum 132
Der Implementierungsraum 139
Elementare Werttypen 141
Zahlen 142
Integertypen 143
Visual Basic 6 gegenüber Visual Basic .NET 143
Zeigertypen 143
Zeichen 144
Boolean 145
Literale 145
Typkonvertierung 148
Variablen und Konstanten 151
Kurzformen für die Variablen- und Konstantendeklaration 155
Standardinitialisierung 156
Daten als Private 157
Gültigkeitsbereich 159
Lebensdauer von Variablen und Konstanten 161
Schlussbetrachtung 163

Kapitel 5: Operatoren in Visual Basic .NET 165

Was ist die Aufgabe eines Operators? 165
Zahlensysteme 167
Die positionale Notation 168
Zahlensysteme konvertieren 169
Operatorrangfolge 171
Rangfolge durch Klammern ändern 172
Unäre Operatoren 173
Arithmetische Operatoren 174
Zuweisungsoperatoren 175
Vergleichsoperatoren 177
Verkettungsoperator 178
Logische Operatoren 178
Logisches And, Or und Xor 179
Kurzgeschlossene logische Operatoren 180
Bitoperatoren 181
Spezielle Operatoren 191
Is 192
Like 192
Operatorüberladung 193
In diesem Kapitel erwähnte Ausnahmen 195
Schlussbetrachtung 195

Kapitel 6: Software-Design, Kontrollstrukturen und Programmsteuerung 197

Kontrollstrukturen 198
Programmsteuerung 199
Entwurfscode 200
Schritt-für-Schritt-Notation 201
Pseudocode 201
Nassi-Schneiderman-Diagramme 201
Flussdiagramme 202
Fallstricke beim Entwurf 203
Bedingungsanweisungen 204
If 205
Else 207
Else If 208
Tipps für Else und Else If 209
Select Case 212
GoTo 214
OnError 214
Schleifen 215
Do…Loop 215
For…Next 216
For Each…Next 217
While 218
Weitere bedingte Funktionen 218
Choose 218
IIF 219
Switch 219
Iterationen anhalten, wiederaufnehmen und verlassen 220
Übertreibungen mit Exit 221
Schlussbetrachtung 222

Kapitel 7: Methoden 225

Was ist eine Methode? 225
Methodentypen 228
Synchrone gegenüber asynchronen Methodenaufrufen 228
Methodendaten 229
Methodendaten - global gegenüber lokal 231
Lokale Deklarationen 233
Argumente an Parameter übergeben 235
Methoden aufrufen 240
Funktionen bzw. Sub-Methoden 241
Zugriffscharakteristiken von Methoden 244
Die Polymorphie von Methoden kontrollieren 247
Einstieg in die Framework-Methoden 251
Die Methoden in System.Math 252
Programmieren mit der Klasse Math 254
Ausnahmen bei mathematischen Berechnungen 257
Eigenschaften 258
Eigenschaften gegenüber Feldern 260
Eigenschaften gegenüber Methoden 262
Einführung in die Ausnahmebehandlung 262
Die Ausnahmebehandlung 264
Try…Catch-Blöcke 265
Design und Aufbau von Methoden 266
Klassen- und Methodenkohäsion 268
Methodenkopplung 271
Der Umfang einer Methode 271
Rekursives Design von Methoden 271
Der Basisfall 273
Die Stoppbedingung 274
Die Auswirkungen der Rekursion 276
Die Methodenperformance 277
Schlussbetrachtung 281


Teil 3: Klassen und Objekte 283


Kapitel 8: Typen, Strukturen und Enumerationen 283

Das Werttypmodell 284
Wie Werttypen arbeiten 285
Boxing 288
Weshalb sind Werttypen Objekte? 290
Structs und Enums - neue Werttypen erzeugen 291
Strukturen 292
Formen von Strukturen 300
Enumerationen 302
System.Enum verwenden 304
Flags 308
Einige letzte Worte zu Enums 310
Das Objektverweismodell 311
Gleichheit, Vergleich und Zuweisung im Objektverweismodell 318
Schlussbetrachtung 320

Kapitel 9: Klassen 321

Semantik richtig verstanden 323
Von Klassen und Typen 323
Semantik und Notation 324
Modellierung 324
Software-Modellierung 325
Sichtweisen 326
UML (Unified Modeling Language) 328
UML-Diagramme 329
Die UML-Notation für Klassendiagramme 330
Die UML-Notation für Klassenmodule 331
Modularität 331
Modularität messen - Koppeln und Kohäsion 332
Die Klassen sind das System 333
Klassencharakteristik 335
Es war einmal … - abstrakte Klassen 336
Beschränkung aufs Wesentliche 337
Die Elemente der abstrakten Klassen 339
Vererbung 340
Vererbung und Polymorphie 342
Vererbung und Kopplung 343
Mehrfache Vererbung 344
Ordnung und Kontrolle durch Vererbung 345
Komplexität reduzieren 346
Wartung und Pflege 346
Codewiederverwendung 347
Software für die Treibstoffpumpe eines Raumschiffs implementieren 348
Instanzenfelder 349
Instanzkonstruktoren 351
Eigenschaften 352
Methoden 354
Veröffentlichen der Klasse ShuttleInjector 357
Aktivieren der Klasse ShuttleInjector 357
Vererbte Elemente eines Objekts 360
Auf Verweisgleichheit mit Equals testen 360
ToString 362
Klonen 362
GetHashCode 363
GetType 364
ReferenceEquals 364
Finalize 364
Aggregation und Komposition - Wiederverwendung durch Containment 365
Noch mehr Aggregation - Ein Formular zum Testen 369
Vererbung durch versiegelte Klassen stoppen 372
Verbesserte Performance mit Shared-Klassen und -Modulen 373
Schlussbetrachtung 374

Kapitel 10: Schnittstellen 375

Abstraktion und Schnittstellen im objektorientierten Software-Design 376
Schnittstellen - Begeisterung und Faszination 377
Schnittstellen und Vererbung 379
Die wirklichen Vorteile von Schnittstellen 380
Implizite Schnittstellen 380
Explizite Schnittstellen 382
Abstrakte Klasse oder explizite Schnittstelle 384
Schnittstellendesign und Implementierung - Einführung 385
Zugriff und Verwendung der Implementierung 387
Zusammengesetzte Schnittstellen 389
Schnittstellen entwerfen und definieren 390
Einmal veröffentlichte Schnittstellen dürfen nicht mehr verändert werden 391
Schnittstelleninvarianz 391
Die Schnittstelle einrichten 392
Schnittstellendefinition 393
Schnittstellen implementieren 395
Die Semantik für die Schnittstellenimplementierung 396
ICloneable implementieren 396
IComparable implementieren 397
In diesem Kapitel behandelte Ausnahmen 399
Schlussbetrachtung 399

Kapitel 11: Ausnahmebehandlung und Exception-Klassen 401

Warum ist eine Ausnahmebehandlung erforderlich? 402
Strukturiertes Exception-Handling 403
Modelle für die Ausnahmebehandlung 406
Das Wiederaufnahmemodell 406
Das Abbruchmodell 406
Bereinigung nach Ausnahmen 407
Exception-Anweisungen 409
Try 409
Catch 410
Finally 414
When-Filter 416
Verschachtelte Try-Blöcke 418
Throw 420
Tipps für die Ausnahmebehandlung 425
Eigene Ausnahmeklassen erzeugen 426
Die .NET-Ausnahmehierarchie 427
Eine Basisklasse für die Vererbung auswählen 427
Schlussbetrachtung 430

Kapitel 12: Collections, Arrays und andere Datenstrukturen 431

Der Namespace für Arrays und Collections 432
Spezialisierte Collections 434
ICollection 435
IEnumerator und IEnumerable 435
IList 435
Stacks 436
Für einen Stack programmieren 440
Queues 441
Programmierung mit einer Queue 443
Arrays 445
Die Array-Klasse 447
Arrays deklarieren und initialisieren 448
Mehrdimensionale Arrays deklarieren 450
Eingebettete Arrays 451
Mit Arrays programmieren 452
Die UBound-Anweisung 454
Arrays neu deklarieren 455
Die Erase-Anweisung 456
Die IsArray-Funktion 457
Array-Exceptions 457
Arrays an Methoden übergeben 459
Arrays von Methoden übernehmen 459
Arrays durchsuchen und sortieren 460
Die BinarySearch-Methode 461
Arrays sortieren 462
Bubble Sort 464
Partitionieren und mischen 468
QuickSort 473
Strings und andere Objekte sortieren 479
Arrays füllen 480
Arrays für Objekte 481
Hash-Tabellen 486
Schlussbetrachtung 491

Kapitel 13: Erweiterte Designkonzepte: Muster, Rollen und Beziehungen 493

Klassendesign 493
Das Singleton-Muster 494
Das Bridge-Muster 498
Das Strategiemuster 502
Das Statusmuster 505
Verknüpfte Listen und Bäume 509
Die verknüpfte Liste 510
Eine Basiscontainerklasse für Listen (und Bäume) 512
Implementierung des Knotens 513
Den Container implementieren 516
Implementierung des Iterators 534
Schlussbetrachtung 537

Kapitel 14: Erweiterte Schnittstellenmuster: Adapter, Delegates und Ereignisse 539

Adapter und Wrapper 542
Schnittstellenadaption - Die Zusammenarbeit zwischen COM und .NET 543
Das Adapter-Muster in .NET 546
Das Ereignismodell des Adapter-Musters 552
Delegieren: Bitte hilf mir! 554
Delegate 558
Die Delegate-Klasse 560
Deklaration 560
Frühzeitig gebundene Delegate-Deklaration 560
Spät gebundene Delegate-Deklaration 562
Daten mit Delegates sortieren 564
Multilast-Delegate 568
Das Ereignismodell des .NET Frameworks: Delegates und Ereignisse 569
Kurz zusammengefasst: Das Ereignismodell 573
Ereignisdelegation und Adapter-Ereignisse im Vergleich 574
Delegates und Funktionszeiger im Vergleich 576
Schlussbetrachtung 577

Kapitel 15: Datenverarbeitung und I/O 579

Datenverarbeitung 579
Mit Zeichenfolgen arbeiten 580
Die Elemente der String-Klasse 581
Clone 582
Compare 582
CompareTo 583
Concat 583
Copy 584
CopyTo 584
EndsWith, StartsWith 585
Equals 585
Format 586
IndexOf, LastIndexOf 586
Insert 587
Intern, IsInterned 587
Join, Split 588
PadLeft, PadRight 588
Remove 589
Replace 589
SubString 589
ToCharArray 590
ToLower, ToUpper 590
Trim, TrimEnd, TrimStart 590
Die traditionellen String-Funktionen von Visual Basic 590
String-Formatierung 591
NumberFormatInfo 592
DateTimeFormatInfo 595
Benutzerdefinierte Formatierer 597
Strings mit StringBuilder erzeugen 598
Kapazität 599
Append 600
AppendFormat 600
Insert 601
Remove 601
Replace 601
Reguläre Ausdrücke 602
Die Metasprache des .NET Frameworks für reguläre Ausdrücke 603
Datei, Stream und Textein- und -ausgabe 606
Dateien und Verzeichnisse 607
Die File-Klasse 607
Path 609
File-Enumerationen 611
Grundoperationen der File-Klasse 615
Directory 616
Die FileInfo-Klasse 617
DirectoryInfo 618
Das traditionelle Dateisystemobjekt 620
FileSystemWatcher 621
Streams 625
FileStream 626
Die SeekOrigin-Enumeration 630
BufferedStream 631
NetworkStream 632
CryptoStream 632
MemoryStream 632
Schreiben und Lesen 633
Textcodierung 633
StringReader und StringWriter 634
StreamReader und StreamWriter 636
BinaryReader und BinaryWriter 638
XML-Ein- und -ausgabe 638
XML-Dateien lesen 638
XML-Dateien mit XMLTextWriter schreiben 642
Serialisierung mit XML 645
Aktivierung der Serialisierung während der Laufzeit 648
Schlussbetrachtung 650


Teil 4: Software mit VB .NET entwickeln 651


Kapitel 16: Die Schnittstelle zum Endanwender 651

Windows-Formulare 654
Ein Formular ist ein Objekt 655
Der Namespace System.Windows.Forms 655
Automatisch erzeugter Code 656
Threading 658
Benutzerschnittstellen und Thread-Design 659
Das Thread-Modell des .NET Frameworks 659
Grundlagen des Threading 660
MDI-Anwendungen 662
Das MDI-Formular erstellen 662
MDI-Fenster einrichten 664
Das aktive Unterfenster 666
Formulare anordnen 666
Das Öffnen und Schließen der Anwendung delegieren 667
Ein Formular im Vordergrund halten 667
Transparenz 668
Modal 668
Fensterrahmen 669
Die Formulargröße ändern 670
Bildschirmposition 671
Komponenten und Steuerelemente 672
Komponenten und Steuerelemente hinzufügen 673
Layout und Gruppierung 674
Steuerelemente positionieren 679
Eine Eigenschaft für mehrere Steuerelemente setzen 679
Komplexe Eigenschaftsseiten 679
Das Eigenschaftsraster 680
Menüs und Symbolleisten 681
Menüs und Menüoptionen über den Code hinzufügen 681
Kontextabhängige Menüs 682
Menüs 684
Die Menu-Klasse 685
Auf Benutzereingaben reagieren 685
Ereignisse dynamisch binden 686
Hotspots 686
Maus- und Tastaturereignisse 687
Tastaturereignisse 687
Ereignisse mit einem Zeitgeber auslösen 688
Benutzereingaben entgegennehmen 688
Schaltflächen 689
Textbearbeitungsfelder 689
Kontrollkästchen 692
Optionsschaltflächen 692
Kombinationsschaltflächen 692
Auf- und Ab-Steuerelement 692
Numerisches Auf-Ab-Steuerelement 693
Datums- und Zeitauswahl 693
Kalender 693
Paletten 694
Listenfelder 694
Listenfelder mit Kontrollkästchen 694
Listenansichten 694
Schieberegler 694
Symbolleisten 695
Bäume 695
Steuerelemente für die Präsentation und Informationen 695
Beschriftung 696
Hyperlinks 696
Statusleiste 696
Symbole 696
Bilder 697
Bilderlisten 697
Grafische Verlaufsanzeige 697
Raster 697
Kurzhinweise 697
Fehlermeldungen 698
Hilfen 698
Drucken 698
Mausoperationen 699
Das Ziehen von Elementen 699
Daten verschieben 699
Die Zwischenablage 700
Schlussbetrachtung 701

Kapitel 17: Die Anwendung fertig stellen 703

Debugging 704
Der Namespace System.Diagnostics 704
Das Debugging aktivieren 708
Laufzeitkonfigurationsdateien 710
Rechnerkonfigurationsdatei 710
Anwendungskonfigurationsdatei 710
Sicherheitskonfigurationsdatei 711
Konfigurationsdateien 711
Mit der Debug-Klasse arbeiten 712
Die Debug-Schreibmethoden 712
Assertion 713
Fail 716
Ablaufverfolgung und die Trace-Klasse 717
Ablaufverfolgung 717
Die Phasen der Ablaufverfolgung 718
Den Code abhören 718
Vom Entwickler definierte Listener-Objekte 721
Trace-Schalter 722
Debuggen mit Visual Studio .NET 723
Fehlerarten 723
Debug-Hilfen 724
Haltepunkte 725
Debugging - Eine Einführung 726
Der Visual Basic .NET-Compiler 729
Antwortdateien für das Kompilieren verwenden 732
Eine Klassenbibliothek über die Befehlszeile verwalten 733
Direktiven für die bedingte Kompilierung 733
Schlussbetrachtung 734

Stichwortverzeichnis 737