VISUAL BASIC 2012 KOCHBUCH



Ähnliche Dokumente
Visual Basic Kochbuch. von Walter Doberenz, Thomas Gewinnus. 1. Auflage. Hanser München 2006

Visual Basic Kochbuch

Walter Doberenz Thomas Gewinnus. Visual C# 2005 b HANSER

Inhaltsverzeichnis. Walter Doberenz, Thomas Gewinnus. Visual Basic Kochbuch ISBN:

VISUAL BASIC 2012 KOCHBUCH

VISUAL C# 2012 KOCHBUCH

Inhaltsverzeichnis. Walter Doberenz, Thomas Gewinnus. Visual Basic Kochbuch. ISBN (Buch): ISBN (E-Book):

VISUAL C# 2012 KOCHBUCH

CARL HANSER VERLAG. Walter Doberenz, Thomas Kowalski. Visual Basic.NET -- Kochbuch

Visual C# 2008 Kochbuch

Visual Basic Kochbuch

WPF Steuerelemente Listbox, ComboBox, ListView,

Visual C# Kochbuch

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Visual Basic Kochbuch

Visual C# Kochbuch

OP-LOG

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar inkl. zusätzlichem Übungsanhang K-W81-G-UA

Programmierkurs Java

INHALTSVERZEICHNIS OBERFLÄCHE...8. Starten... 9 Beenden... 9 Die Maus... 10

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Schnellstarthandbuch. Hilfe aufrufen Klicken Sie auf das Fragezeichen, um Hilfeinhalt anzuzeigen.

Inhaltsverzeichnis. Apps für Android entwickeln

Visual C#.NET --Kochbuch

Erste Schritte mit Sharepoint 2013

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

3. GLIEDERUNG. Aufgabe:

Anweisungen zur Installation und Entfernung von Windows PostScript- und PCL-Druckertreibern Version 8

Microsoft Access 2010 Bilder

INHALTSVERZEICHNIS WINDOWS AERO... 8

WINDOWS 7 INHALTSVERZEICHNIS

Windows 7. Der Desktop und seine Elemente. Der Desktop

VBA-Programmierung: Zusammenfassung

Fusszeile mit Datumsfeld und Dateiname

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

Umstellung News-System auf cms.sn.schule.de

Inhaltsverzeichnis. Einleitung 11. Modul 1 Die erste Datenbank 15. Modul 2 Tabellen in der Entwurfsansicht definieren 21. Inhaltsverzeichnis

System-Update Addendum

skillpipe User Guide, Version 3.0, skillpipe User Guide 1

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Access Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

1 Was ist das Mediencenter?

Speichern. Speichern unter

2. Installation unter Windows 8.1 mit Internetexplorer 11.0

Dokumentation IBIS Monitor

Visual Basic.NET undado.net

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

WordPress lokal mit Xaamp installieren

Leseprobe. Walter Doberenz, Thomas Gewinnus. Visual C# Grundlagen und Profiwissen ISBN:

ECDL Modul 2 Windows 7 Übungseinheit. Ihr Name:...

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Anleitungen zum Publizieren Ihrer Homepage

2. Word-Dokumente verwalten

Artikel Schnittstelle über CSV

Step by Step Webserver unter Windows Server von Christian Bartl

So sieht die momentane fertige Ordnerstruktur in der Navigationsansicht des Windows-Explorers aus

Erstellen eines Formulars

Windows 10. Die Anleitung in Bildern. von Robert Klaßen

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Computeria Urdorf. Treff vom 28. März Tipps und Tricks

Anleitung zum Download und zur Bedienung des Tarifbrowsers für Microsoft Windows 7 und Mozilla Firefox

PRAXISMANAGEMENT FÜR DIE ZAHNARZTPRAXIS, MKG - CHIRURGIE UND KLINIK PRO X DENT MKG ZMK UMSTELLUNG DER INSTALLATION AUF NETZLAUFWERK

Office-Programme starten und beenden

Auf einen Blick. Vorwort Einführung Sprachgrundlagen von VBScript Objektorientierte Programmierung mit. dem Windows Script Host 115

Computeria Solothurn

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

E-PRIME TUTORIUM Die Programmiersprache BASIC

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

KURZANLEITUNG CLOUD OBJECT STORAGE

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Symbole: für Programme, Ordner, Dateien -

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Übung: Verwendung von Java-Threads

32.4 Anpassen von Menüs und Symbolleisten 795i

Installation von NetBeans inkl. Glassfish Anwendungs-Server

teamspace TM Outlook Synchronisation

Tipps und Tricks zu Netop Vision und Vision Pro

Dem DSB stehen folgende Basisfunktionen zur Verfügung:

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

SharePoint Schnittstelle für Microsoft Dynamics CRM 2011

OWA Benutzerhandbuch. Benutzerhandbuch Outlook Web App 2010

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Inhaltsverzeichnis. Einleitung... 11

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Schaltfläche Start/Drucker und Faxgeräte, mit rechter Maustaste auf Druckersymbol klicken, Befehl Eigenschaften wählen.

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

OUTLOOK-DATEN SICHERN

> Internet Explorer 8

etermin Einbindung in Outlook

Sicherer Datenaustausch zwischen der MPC-Group und anderen Firmen. Möglichkeiten zum Datenaustausch... 2

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

Modul 122 VBA Scribt.docx

Transkript:

walter DOBERENZ thomas GEWINNUS VISUAL BASIC 2012 KOCHBUCH // 500 sofort einsatzbereite Lösungen // Sprache, Techniken, OOP, GUI- und Webprogrammierung // Entwickeln von Windows Store Apps EXTRA: Kostenloses E-Book inkl. 650 Seiten Bonuskapitel

Inhaltsverzeichnis Vorwort 1 Kleiner VB-Anfängerkurs R1 R2 R3 R4 R5 R6 2...... 29 Das EVA-Prinzip anwenden... Ein Array definieren und initialisieren... Die Arraygröße zur Laufzeit ändern... Berechnungen in eine Methode auslagern... Konsolenprogramm nach Windows portieren... Werte in einer ListBox anzeigen... 29 33 35 37 41 44 Sprache R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 25... 49 Anwendungen von C# nach Visual Basic portieren... String in Array kopieren und umgekehrt... Ein Byte-Array in einen String konvertieren... Strukturvariablen in Arrays einsetzen... Eine einzelne Spalte aus einem Array kopieren... In einer ArrayList suchen und sortieren... In einer generischen Liste suchen und sortieren... Zufallszahlen erzeugen... Eine Iterationsschleife verstehen (Quadratwurzel)... Eine Iterationsschleife verstehen (Goldener Schnitt)... Funktionen rekursiv aufrufen... Zeichenketten mittels StringBuilder addieren... Strings vergleichen... Eine Stoppuhr programmieren... Zeitangaben runden... Zeitdifferenzen ermitteln... 49 55 57 59 61 63 65 67 68 71 72 74 77 80 82 83

6 Inhaltsverzeichnis R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R33 R34 R35 R36 R37 R38 R39 R40 R41 R42 R43 R44 R45 R46 R47 R48 3 Datumsdifferenzen ermitteln... Das Alter in Jahren bestimmen... Die Monatsdifferenz berechnen... Das Datum beweglicher Feiertage berechnen... Ersten und letzten Wochentag des Monats ermitteln... Den Wochentag eines Datums ermitteln... Abschreibungen auf Monatsbasis berechnen... Reisespesen berechnen... Geldbeträge kaufmännisch runden... Fehler bei mathematischen Operationen behandeln... Mit Potenzen und Wurzeln rechnen... Einen Delegate definieren und anwenden... Mit Delegates sortieren (Bubblesort)... Referenz- oder Wertetypen als Parameter übergeben... LINQ im Schnelldurchgang erlernen... Strings mit LINQ abfragen und filtern... Duplikate aus einer Liste oder einem Array entfernen... Arrays mit LINQ initialisieren... Arrays per LINQ mit Zufallszahlen füllen... Einen String mit Wiederholmuster erzeugen... Mit LINQ Zahlen und Strings sortieren... Mit LINQ Collections von Objekten sortieren... Ergebnisse von LINQ-Abfragen in ein Array kopieren... Sortieren mit IComparable/IComparer... Mit Async und Await asynchron programmieren... 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... OOP/Komponenten R49 R50 R51 85 87 89 90 92 93 95 98 101 102 106 107 109 112 115 117 119 122 124 126 127 128 131 131 136 138 138 138 138 139 139 139 139... 141 Überladene versus überschriebene Methoden... Aggregation und Vererbung gegenüberstellen... Objekte serialisieren... 141 144 150

7 Inhaltsverzeichnis R52 R53 R54 R55 R56 R57 R58 R59 R60 R61 R62 R63 4 Ein wieder verwendbares Formular erstellen... Von einem Formular erben... Von vorhandenen Steuerelementen erben... Eine Komponente zur Farbauswahl entwickeln... Eine Digitalanzeige-Komponente programmieren... OOP beim Kartenspiel erlernen... Eine Klasse zur Matrizenrechnung entwickeln... Interop-Typen in die Assembly einbetten... Das Observer-Pattern anwenden (Variante 1)... Das Observer-Pattern anwenden (Variante 2)... Einen Objektbaum in generischen Listen abspeichern... Einen mehrschichtigen Entwurf praktizieren... Die Datenstruktur... Die Ereignisdefinition... Die Ereignislogik... Das User-Interface... Die Datenpersistenz... Die Verwaltung des Pattern... Test und Diskussion... Ein zweiter Observer kein Problem!... Zusammenfassung... Windows Forms-Anwendungen R64 R65 R66 R67 R68 R69 R70 R71 R72 R73 R74 R75 R76 R77 R78 152 156 160 164 168 174 178 183 186 189 194 200 200 202 204 206 209 210 213 214 215... 217 Das Startformular festlegen... Beim Programmstart eine Abfrage ausführen... Das Schließen des Formulars verhindern... Mit mehreren Formularen arbeiten... Eine MDI-Applikation erstellen... Formulare im Formular anzeigen... Zur Laufzeit ein Steuerelement erzeugen... Steuerelemente-Array per Code erzeugen... Auf ein Control-Array zugreifen... Mit der TextBox arbeiten... In einer TextBox suchen... Nur Zahleneingaben zulassen... Dezimalkomma in Dezimalpunkt umwandeln... Die Schrifteigenschaften einer TextBox ändern... Tastatureingaben für mehrere TextBoxen filtern... 217 218 220 221 225 229 231 233 235 238 240 241 243 243 246

8 Inhaltsverzeichnis R79 R80 R81 R82 R83 R84 R85 R86 R87 R88 R89 R90 R91 R92 R93 R94 R95 R96 R97 R98 R99 R100 R101 5 RadioButtons und CheckBoxen einsetzen... Die ListBox kennen lernen... Die ComboBox kennen lernen... Objekte in ListBox/ComboBox anzeigen... Mit der CheckedListBox arbeiten... Die Maus abfragen... Das TableLayoutPanel einsetzen... 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... Das Microsoft Chart-Control verwenden... WPF-Komponenten mit dem ElementHost anzeigen... Die Einstellungen des User-Interface sichern... Drag & Drop im Steuerelemente-Array realisieren... Programmierung einer mehrspaltigen ListBox... Die Tabulatorbreite verändern... Windows Presentation Foundation R102 R103 R104 R105 R106 248 249 252 255 258 260 262 266 268 271 275 279 282 285 289 291 295 300 304 307 311 319 322... 325 WPF-Anwendung im Fullscreen-Mode starten... Fenster auf einem bestimmten Screen anzeigen... Das Hauptfenster festlegen und ändern... Einen Splash-Screen erzeugen und anzeigen... 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... 325 326 327 329 331 331 332 333 334 336 337 338

9 Inhaltsverzeichnis R107 R108 R109 R110 R111 R112 R113 R114 R115 R116 R117 R118 R119 R120 R121 R122 R123 R124 R125 R126 R127 R128 R129 R130 R131 6 Eine Instanz der Seite erhalten... Einen Ersatz für Window realisieren... WPF-Oberflächen zur Laufzeit erzeugen... 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... Den Pfad der aktuellen Anwendung bestimmen... Formulare per Reflection auswählen und anzeigen... Datenbindung für Anwendungseinstellungen... Deutsches Datumsformat anzeigen... Einen Timer in WPF nutzen... Das User-Interface am Task-Ende aktualisieren... Das User-Interface aus dem Task aktualisieren... Collections in Hintergrundthreads füllen... Einen Ribbon in meine Anwendung einbinden... Das WPF-Chart-Control verwenden... Silverlight R132 R133 R134 R135 R136 R137 R138 R139 R140 339 340 341 343 345 347 349 351 353 354 355 357 359 361 364 366 368 369 370 371 373 375 376 378 380 385 395... 399 Den Fokus auf das Silverlight-Plugin setzen... Zugriff auf die Zwischenablage realisieren... Drag & Drop-Unterstützung realisieren... Den Querystring der aktuellen Seite auswerten... Dokumente in Silverlight drucken... Einen Webcam-Screenshot drucken... ASP.NET- und WCF-Dienste einbinden... Die WCF Data Services nutzen... Eine Desktop-Anwendung erzeugen... 399 400 401 404 405 407 412 420 428

10 7 Inhaltsverzeichnis R141 Assemblies nachladen... R142 Daten per ZIP-Datei nachladen... R143 Kommunikation zwischen Plugins realisieren... Den Sender programmieren... Den Empfänger programmieren... ASP.NET-Testweb anpassen und testen... R144 Einen Timer in Silverlight nutzen... R145 Weitere Dialogfenster öffnen... R146 Dateien auf dem Client speichern... 433 436 438 438 440 441 442 444 446 Windows Store Apps... 449 R147 Den App-Aufbau verstehen und ändern... R148 Die Startseite festlegen... Statische Änderung... Dynamische Änderung... R149 Prüfen, ob die App zum ersten Mal gestartet wurde... R150 App-Zustände vor dem Programmende sichern... R151 Anmeldedaten sicher speichern... R152 Zwischen App-Seiten navigieren... R153 Informationen zwischen Seiten austauschen... R154 Auflösungsabhängige Bild-Ressourcen einbetten... R155 Einer App ein anderes Theme zuweisen... Anpassung per XAML-Code... Theme in Visual Studio anpassen... Ein Theme zur Laufzeit wechseln... R156 Die Windows-Kontakt-Liste verwenden... R157 Eine E-Mail versenden... R158 Apps in die Windows 8-Suche integrieren... R159 Das Einstellungen-Panel verwenden... R160 Einstellungen über mehrere Geräte synchronisieren... R161 Auf Größen- und Formatänderungen reagieren... R162 Die Modern UI-Live Tiles ansteuern... R163 Eine Dateiverknüpfung erstellen... R164 Die Zwischenablage verwenden... R165 Daten anderen Apps zur Verfügung stellen... R166 Daten aus anderen Apps konsumieren... R167 FilePicker für die Dateiauswahl verwenden... R168 Von der MessageBox zum MessageDialog... 449 453 453 454 456 457 464 468 473 473 477 477 478 478 481 484 487 494 504 504 509 515 519 526 530 540 545

11 Inhaltsverzeichnis R169 R170 R171 R172 R173 R174 R175 R176 R177 R178 R179 R180 R181 R182 R183 R184 R185 R186 R187 8 Aus Threads auf die Oberfläche zugreifen... Einen Style zur Laufzeit zuweisen... Eine App per Code beenden... Die Positionskoordinaten für Google-Maps nutzen... Eine Pause realisieren... Global auf Tasteneingaben reagieren... Einen Timer programmieren... Die aktuelle Bildschirmauflösung ermitteln... Auf ein Touch-Eingabegerät testen... Prüfen, ob eine Tastatur angeschlossen ist... Die virtuelle Tastatur richtig einsetzen... Prüfen, ob eine Internetverbindung verfügbar ist... Informationen über das aktuelle Package abrufen... Das Verzeichnis der App bestimmen... Soundausgaben im Background realisieren... Audiodaten aufnehmen und wiedergeben... Bilder/Videos mit dem WinRT-Dialog aufnehmen... Bilder/Videos mit eigenem Userinterface aufnehmen... Windows Store Apps richtig debuggen... Verwendung einer Protokolldatei... Debuggen mit DebugView... Debuggen von Contract-aktivierten Apps... R188 Apps auf einem anderen PC installieren... 549 549 550 550 555 557 559 560 562 564 564 566 568 571 571 577 581 585 590 591 594 595 595 Schnittstellen... 597 Eine einfache E-Mail versenden... E-Mails mit dem integrierten Mail-Client versenden... Die Zwischenablage verwenden... Die WIA-Library kennenlernen... Installation/Vorbereitung... Einstieg mit kleiner Beispielanwendung... Reagieren auf das Verbinden/Trennen von Geräten... Ermitteln der verfügbaren Geräte... Anzeige der Geräteeigenschaften... Ein Bild einlesen... Bild(er) drucken per Assistent... Den Scanner-Assistent aufrufen... Grafikbearbeitung mit WIA... 597 598 600 601 602 603 605 605 606 607 610 611 612 R189 R190 R191 R192

12 Inhaltsverzeichnis R193 R194 R195 R196 R197 R198 R199 R200 R201 R202 R203 9 Auf eine Webcam zugreifen... Auf den Scanner zugreifen... Auf die serielle Schnittstelle zugreifen... OpenOffice.org Writer per OLE steuern... VB-Library "OOWLib"... Anwendungsprogramm... Mit OLE-Automation auf MS Access zugreifen... Ein Managed Add-In programmieren und einbinden... Entwurf des Add-Ins... Erstellen der Access-Anwendung... Sound per MCI aufnehmen... Mikrofonpegel anzeigen... Pegeldiagramm aufzeichnen... Sound-und Video-Dateien per MCI abspielen... Eine C-DLL in VB einbinden... System R204 R205 R206 R207 R208 R209 R210 R211 R212 R213 613 616 621 624 625 628 632 636 637 642 644 648 649 653 661... 669 Nutzer und Gruppen des Systems ermitteln... Testen, ob Nutzer in einer Gruppe enthalten ist... Testen, ob der Nutzer ein Administrator ist... Die IP-Adressen des Computers bestimmen... Die IP-Adresse über den Hostnamen bestimmen... 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... Alles über den Bildschirm erfahren... Die Registrierdatenbank verwenden... Eine verknüpfte Anwendung öffnen... Eine Dateiverknüpfung erzeugen... 669 670 672 674 675 676 676 677 678 679 680 681 681 682 683 684 684 685 689 689

13 Inhaltsverzeichnis R214 Den Computer herunterfahren oder neu starten... Variante 1 (ExitWindowsEx)... Variante 2 (Shutdown.exe)... R215 Den "Herunterfahren"-Dialog anzeigen... R216 Das System-Shutdown-Ereignis auswerten... R217 Windows in den Standby-Modus versetzen... R218 Systemereignisse auswerten... R219 Windows Botschaften verarbeiten... R220 Alle geöffneten Windows Fenster ermitteln... R221 Die Taskbar Notification Area (TNA) verwenden... R222 Neue Programmgruppen erzeugen... R223 Verknüpfungen auf dem Desktop erzeugen... R224 Den Bildschirmschoner aktivieren/deaktivieren... R225 Drag & Drop mit dem Explorer realisieren... R226 System-Icons verwenden... R227 Die Desktop-Icons ein-/ausblenden... R228 Die Taskbar ausblenden... R229 Den Papierkorb leeren... R230 Den Windows Suchassistenten verwenden... R231 Systemtöne und WAV-Dateien wiedergeben... R232 Das Windows-Systemprotokoll nutzen... R233 Das Windows-Systemprotokoll überwachen... R234 Die Zwischenablage überwachen und anzeigen... R235 Das Datei-Eigenschaftenfenster anzeigen... R236 Prüfen, ob Visual Styles aktiviert sind... R237 Schriftarten dynamisch einbinden und verwenden... R238 Eine Soundkarte erkennen... R239 Prozess- und Thread-Informationen gewinnen... R240 Ein externes Programm starten... R241 Eine externe Anwendung starten und überwachen... R242 Erhöhte Berechtigungen erhalten... Anwendungsmanifest ändern... RunAs verwenden... UAC-Icon anzeigen... 10 Sonstiges 691 692 694 695 697 697 698 699 701 704 706 708 710 711 712 713 714 715 716 718 720 722 723 726 728 729 731 732 736 739 741 742 743 745... 747 R243 Logische Fehler mittels Debugger aufspüren... R244 Eigene Fehlerklassen definieren... 747 754

14 Inhaltsverzeichnis R245 R246 R247 R248 R249 R250 R251 R252 R253 R254 R255 R256 R257 R258 R259 R260 R261 R262 R263 R264 R265 R266 R267 R268 R269 R270 R271 Index Die MessageBox-Klasse verwenden... Nur eine Anwendungsinstanz zulassen... Die Anwendungsparameter auswerten... Tastaturbefehle senden... Mittels Reflection Typinformationen sammeln... Ressourcen per Reflection auslesen... Methode per Reflection oder Late Binding aufrufen... Mehrere Methoden parallel verarbeiten... Arrays parallel verarbeiten... Client/Server-Anwendung mit zwei Projekten... Eine Windows Form-Anwendung lokalisieren... Eine Assembly dynamisch einbinden... ILSpy zum "Schnüffeln" verwenden... Eine GUID erzeugen... Bytes in Megabyte umrechnen... Hex-Dezimal-Bytes-Konverter... Einen langen Hex-String in Bytes umwandeln... Einen String verschlüsseln... Die Verwendung von DoEvents verstehen... Eine Pause realisieren... Numerische Integration verstehen... Hilfedateien programmieren... Hilfedateien in die VB-Anwendung einbinden... Eine alternative Hilfe-IDE verwenden... Installationsdateien erzeugen... Eine farbige Konsolenanwendung realisieren... Lesbare Menüleisten in Visual Studio 2012 anzeigen... 756 758 760 762 765 767 770 772 776 780 783 787 790 793 793 794 798 800 802 805 806 810 814 818 819 830 832... 833

Bonuskapitel im E-Book Zweites Vorwort... 11 Kleiner OOP-Crashkurs R272 R273 R274 R275 R276 R277 R278 R279 861... 863 Klassen und Objekte verstehen... Einen eigenen Konstruktor implementieren... Eigenschaften kapseln... Vererbung und Polymorphie anwenden... Ereignisse programmieren... Das Observer-Pattern demonstrieren... Multicast-Events verwenden... Das Microsoft Event Pattern implementieren... 863 868 870 873 880 884 893 895 12 Grafikprogrammierung... 901 R280 Ein Graphics-Objekt erzeugen... Verwendung des Paint-Events... Überschreiben der OnPaint-Methode... Graphics-Objekt mit CreateGraphics erzeugen... Verwendung des Graphics-Objekts einer PictureBox... R281 Verbundene Linien und Pfeile zeichnen... R282 Eine gemusterte Linie zeichnen... R283 Rechtecke und Ellipsen zeichnen... R284 Rechtecke mit runden Ecken zeichnen... R285 Transparente Farben verwenden... R286 Ein Tortendiagramm zeichnen... R287 Die Grafikdialoge richtig einsetzen... R288 Ein Control-Array mit Grafiken ausstatten... 901 901 902 903 903 904 905 906 908 909 911 912 913 Diese Rezepte finden Sie nur im E-Book

16 Bonuskapitel im E-Book R289 R290 R291 R292 R293 R294 R295 R296 R297 R298 R299 R300 R301 R302 R303 R304 R305 R306 R307 R308 R309 R310 R311 R312 R313 R314 R315 R316 R317 R318 R319 R320 R321 R322 Einen grafischen Würfel programmieren... Den Abstand zwischen zwei Punkten berechnen... Ein einfaches Balkendiagramm zeichnen... Das Mischen von Farbwerten verstehen... Eine Verkehrsampel programmieren... Eine 2D-Vektorgrafik manipulieren... Geometrische Transformationen durchführen... Eine Grafik scrollen... Eine Bitmap erzeugen und als Datei speichern... Eine Metafilegrafik erzeugen und speichern... Einen Fenster-Screenshot erzeugen... Einen Desktop-Screenshot realisieren... Auf dem Windows-Desktop zeichnen... 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... 13 Drucker/Drucken 917 919 921 925 929 933 937 940 941 942 943 945 948 950 951 952 953 954 956 957 958 959 960 962 964 966 967 969 970 973 975 981 983 986... 991 R323 Mit Visual Basic drucken... R324 Den Windows Standard-Drucker ermitteln... 991 992 Diese Rezepte finden Sie nur im E-Book

17 Bonuskapitel im E-Book R325 R326 R327 R328 R329 R330 R331 R332 R333 R334 R335 R336 R337 R338 R339 R340 R341 R342 R343 R344 R345 R346 R347 R348 R349 R350 R351 R352 Den Windows Standard-Drucker ändern... Die verfügbaren Drucker ermitteln... Einen Drucker auswählen... Papierformate und Seitenabmessungen bestimmen... Den physikalischen Druckbereich ermitteln... Die aktuelle Seitenausrichtung ermitteln... Testen ob es sich um einen Farbdrucker handelt... Die physikalische Druckauflösung abfragen... Prüfen, ob beidseitiger Druck möglich ist... Einen Informationsgerätekontext erzeugen... Drucken in Millimetern... Die Seitenränder für den Druck festlegen... Den Druckjobnamen festlegen... 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... 14 Dateien/Verzeichnisse R353 R354 R355 R356 R357 R358 R359 R360 993 994 995 996 997 998 999 999 1001 1001 1003 1004 1006 1006 1007 1008 1013 1015 1016 1019 1021 1030 1034 1037 1039 1040 1042 1043... 1045 Mit den Dateidialogen auf eine Textdatei zugreifen... Alle Unterverzeichnisse auflisten... Alle Dateien auflisten... Die GetFileSystemInfos-Methode einsetzen... Die Path-Klasse kennen lernen... Verzeichnis- und Datei-Informationen gewinnen... Änderungen im Dateisystem überwachen... Dateien rekursiv suchen... 1045 1049 1050 1051 1053 1054 1057 1060 Diese Rezepte finden Sie nur im E-Book

18 Bonuskapitel im E-Book R361 R362 R363 R364 R365 R366 R367 R368 R369 R370 R371 Eine sequenzielle Datei lesen und schreiben... Serialisierte Objekte in einer Datei abspeichern... Den Inhalt einer ListView als Datei abspeichern... Den Verzeichnisinhalt in einer ListView anzeigen... Einen Verzeichnisbaum in eine TreeView einlesen... Eine Datei verschlüsseln... Eine Datei komprimieren... Echte ZIP-Dateien erstellen... Die vorhandenen Laufwerke feststellen... Datei-Ladefortschritt mit ProgressBar anzeigen... PDFs erstellen/exportieren... itextsharp... PDFsharp... R372 Eine CSV-Datei erstellen... R373 Eine CSV-Datei mit LINQ lesen und auswerten... R374 Einen korrekten Dateinamen erzeugen... 15 XML R375 R376 R377 R378 R379 R380 R381 R382 R383 R384 R385 R386 R387 R388 R389 R390 R391 R392... 1062 1065 1069 1074 1077 1079 1082 1084 1086 1087 1089 1089 1091 1092 1095 1098 1099 DataSets in XML-Strings konvertieren... 1099 DataSets in XML-Dateien speichern... 1103 In Dokumenten mit dem XPathNavigator navigieren... 1106 In Dokumenten mit XElement/XDocument navigieren... 1110 In Dokumenten mit dem XPathNavigator suchen... 1115 Hierarchische Daten in einer TreeView darstellen... 1117 XML-Daten mit dem XmlReader lesen... 1121 XML-Daten mit LINQ to XML einlesen/filtern... 1123 XML-Daten mit dem XmlWriter erzeugen... 1125 XML-Dokumente mit LINQ to XML erzeugen... 1128 Verzeichnisstruktur als XML-Dokument sichern... 1129 Binäre Daten in einem XML-Dokument speichern... 1132 Objektstrukturen im XML-Format sichern... 1134 XML-Dokumente mit XSLT transformieren... 1140 XML-Dokumente mit LINQ transformieren... 1142 XML-Daten mit XmlDataDocument bearbeiten... 1144 XML-Daten in SQL Server-Tabellen speichern... 1146 XML-Dokumente in Webanwendungen anzeigen... 1148 Diese Rezepte finden Sie nur im E-Book

Bonuskapitel im E-Book 16 ADO.NET R393 R394 R395 R396 R397 R398 R399 R400 R401 R402 R403 R404 R405 R406 R407 R408 R409 R410 R411 R412 R413 R414 R415 R416 R417 R418 R419 R420 R421 R422 R423 R424 R425 R426 R427 R428 19... 1153 Auf eine Access-Datenbank zugreifen... Auf den SQL Server zugreifen... ConnectionString in Konfigurationsdatei ablegen... Den DataReader kennen lernen... Minimaler DB-Client für Lese- und Schreibzugriff... Schemainformationen verwenden... Query Notifications verwenden... Mit einer Datenquelle arbeiten... Eine Aktionsabfrage ausführen... Daten direkt hinzufügen oder löschen... Gespeicherte Prozeduren aufrufen... Eine Access-Auswahlabfrage aufrufen... Parametrierte Abfragen unter MS Access ausführen... Parametrierte Abfragen für SQL Server ausführen... Datumswerte in SQL-Anweisungen einbauen... Die Datenbank manuell aktualisieren... Die Datenbank mit CommandBuilder aktualisieren... Mit Stapel-Abfragen arbeiten... RowUpdating-/RowUpdated-Ereignisse verwenden... MARS kennen lernen... Auf Zeilen und Spalten der DataTable zugreifen... Eine ListBox an einen DataView binden... Das DataGridView mit ComboBoxen ausrüsten... Auf eine einzelne Zeile im DataGridView zugreifen... DataTable erzeugen und in Binärdatei speichern... Eine DataTable in einer XML-Datei abspeichern... Die RemotingFormat-Property des DataSets nutzen... Master-Detail-Beziehungen im DataGrid anzeigen... Im DataView sortieren und filtern... Im DataView nach Datensätzen suchen... Zwischen DataTable und DataReader umwandeln... Steuerelemente manuell an ein DataSet binden... Datensätze im Detail-Formular editieren... Tabellen mittels ComboBox verknüpfen... Spalten und Zeilen im DataGridView formatieren... DataReader in einer ListView anzeigen... 1153 1156 1158 1161 1162 1165 1168 1172 1179 1181 1184 1187 1189 1191 1192 1195 1199 1200 1202 1204 1208 1210 1212 1214 1217 1221 1222 1225 1227 1229 1231 1233 1238 1243 1247 1249 Diese Rezepte finden Sie nur im E-Book

20 Bonuskapitel im E-Book R429 R430 R431 R432 R433 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... 17 ASP.NET/Webdienste R434 R435 R436 R437 R438 R439 R440 R441 R442 R443 R444 R445 R446 R447 R448 R449 R450 R451 R452 R453 R454 R455 R456 R457 R458 R459 R460 R461 R462 1252 1255 1258 1261 1263... 1267 Eine einfache Webanwendung erstellen... Tabellen mit der Table-Komponente erstellen... Daten zwischen Web Forms austauschen... Informationen über den Browser ermitteln... Die Bildschirmauflösung des Clients ermitteln... Das Browser-Fenster maximieren... Cookies in ASP.NET-Anwendungen verwenden... HTML-Ausgaben an den Client senden... Bilder/Dateien an den Client senden... Die IP-Adresse des Clients abfragen... Die Anzahl der Seitenaufrufe eines Users ermitteln... Auf den Fehlercode 404 reagieren... Variante 1: Alternative Fehlerseite einblenden... Variante 2: Zentrale Fehlerbehandlung... Die Validierung temporär deaktivieren... Den Eingabefokus bei Validierung setzen... Eine clientseitige Validierung realisieren... Die Zellen in einem GridView formatieren... Ein GridView mit Bildlaufleisten realisieren... Einen Mouseover-Effekte im GridView realisieren... Keine Daten im GridView vorhanden... Daten einfach ins MS Excel-Format exportieren... Berechnungen in GridView-Zeilen realisieren... Spaltensummen im GridView berechnen... Währungswerte im GridView korrekt anzeigen... Eine Validierung im GridView realisieren... Mit einem Popup-Fenster Detaildaten anzeigen... Eine Sicherheitsabfrage realisieren... E-Mail-Versand in ASP.NET realisieren... Verzeichnisbäume mit der TreeView anzeigen... Datenaustausch zwischen ClientScript und Server... 1267 1273 1280 1283 1285 1286 1287 1289 1291 1292 1293 1294 1295 1296 1297 1297 1297 1298 1300 1301 1302 1303 1306 1307 1309 1310 1312 1316 1317 1319 1322 Diese Rezepte finden Sie nur im E-Book

Bonuskapitel im E-Book R463 R464 R465 R466 R467 R468 R469 R470 R471 R472 R473 R474 R475 R476 R477 R478 R479 R480 R481 R482 R483 R484 R485 R486 R487 R488 R489 R490 Dateien auf den Server hochladen... Ein ASP.NET-Menü dynamisch erzeugen... Die Browser-Kopfzeile zur Laufzeit ändern... Einen Zeilenumbruch im Label-Control realisieren... HTML-Zeichenfolgen im Browser anzeigen... Die Browser-Scrollposition wiederherstellen... Dateien eines Unterverzeichnisses auflisten... MouseOver-Effekte für Controls realisieren... Server Controls zur Laufzeit erzeugen... Doppelklicks auf Schaltflächen verhindern... Das Browserfenster per Client-Skript schließen... Ein ASP.NET User Control programmieren... Grafikausgaben per User Control realisieren... Eine Webseite per JavaScript drucken... Die Upload-Begrenzung ändern... Ein Projekt auf den IIS exportieren... Ä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... Nachinstallieren IIS 7 bzw. 7.5 (Windows 7)... Nachinstallieren IIS8 (Windows 8)... Die AJAX-Controls verwenden... Datenbindung mittels EntityDataSource realisieren... Den QueryExtender zum Filtern verwenden... Tipps & Tricks... Ärger mit Leerzeichen in URLs vermeiden... Testen, ob Nutzer angemeldet ist... Den Namen des aktuellen Nutzers ermitteln... Diese Rezepte finden Sie nur im E-Book 21 1323 1324 1326 1327 1327 1329 1329 1331 1332 1335 1336 1337 1340 1344 1344 1345 1346 1348 1352 1357 1357 1364 1368 1372 1373 1374 1374 1375 1376 1377 1378 1379 1381 1387 1391 1391 1392 1392

22 Bonuskapitel im E-Book Eine zufällige Datei zur Anzeige auswählen... 1392 Einen Datei speichern unter-dialog anzeigen lassen... 1393 Anwendungseinstellungen in der Web.config sichern... 1394 18 Reporting Services R491 R492 R493 R494 R495... 1397 Einen einfachen Bericht entwerfen... Einen Bericht ohne Assistentenhilfe erstellen... Im Bericht sortieren... Im Bericht filtern... Weitere Tipps & Tricks... Trennlinien in Tabellen realisieren... Währungsformatierung... Datumsformatierung... Wechselnde Zeilenfarben zuweisen... Anzeige von True und False in Boolean-Feldern vermeiden... Anzeige von Nullwerten unterdrücken... Abstand zwischen zwei Tabellenspalten vergrößern... Die lästigen Sekunden beseitigen... Nachkommastellen festlegen... Werte berechnen und formatieren... Weitere Informationen zu den Microsoft Reporting Services... 1397 1402 1405 1409 1412 1412 1413 1413 1413 1413 1414 1414 1414 1414 1414 1414 19 Komplexbeispiele... 1415 R496 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... R497 Buchungssystem mit Random Access Datei... Klassenübersicht... Entwurf der Bedienoberfläche... Entwicklung des Geschäftsmodells... Programmieren der Bedienoberfläche... 1415 1416 1416 1418 1420 1421 1423 1427 1427 1432 1432 1432 1433 1433 1441 Diese Rezepte finden Sie nur im E-Book

Bonuskapitel im E-Book R498 R499 R500 R501 Anhang A B Index 23 Programmtest... Ein einfacher FTP-Client... Bedienoberfläche... Auflisten des FTP-Verzeichnisses... 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... 1443 1445 1445 1446 1447 1448 1449 1450 1450 1452 1452 1454 1455 1458 1461 1461 1462 1464 1465 1467 1469 1470 1474... 1479 Glossar... 1479 Wichtige Datei-Extensions... 1484... Diese Rezepte finden Sie nur im E-Book 1485

2 Sprache Kapitel 2 Sprache R7 Anwendungen von C# nach Visual Basic portieren Sie sind C#-Programmierer und wollen zu Visual Basic wechseln? Oder Sie haben einen in C# geschriebenen Quellcode und wollen diesen nach Visual Basic übersetzen? Das vorliegende Rezept soll Ihnen den Umstieg erleichtern. Leider können wir Ihnen für eine automatisierte Durchführung keine Patentlösung geben. Im Internet werden zwar diverse Übersetzungshilfen angeboten, sie sind allerdings so mit Mängeln behaftet, dass wir sie Ihnen beim besten Willen nicht empfehlen wollen. Am schnellsten und zuverlässigsten geht das Portieren immer noch in "Handarbeit": Öffnen Sie das zu übersetzende C#-Projekt mit Visual Studio. Laden Sie eine zweite Instanz von Visual Studio und öffnen Sie ein neues Visual Basic-Projekt. Kopieren Sie über die Windows-Zwischenablage die visuellen Komponenten (keine Formulare!) von der C#- in die VB-Entwicklungsumgebung. Kopieren Sie abschnittsweise den C#-Code in das VB-Codefenster und ersetzen Sie dort Schritt für Schritt die C#- durch die VB-Syntax. Die folgenden Ausführungen sollen Ihnen dabei die Arbeit erleichtern. Die augenfälligsten Unterschiede Beim Vergleich beider Programmiersprachen stechen zunächst die folgenden Unterschiede ins Auge: Abschluss einer Befehlszeile Während in Visual Basic der Zeilenumbruch eine Befehlszeile abschließt, übernimmt in C# das Semikolon diese Funktion, sodass sich Anweisungen über mehrere Zeilen erstrecken können!

50 2 Sprache Groß-/Kleinschreibung Hier dürfte es kaum Probleme geben, denn in Visual Basic spielt die Groß-/Kleinschreibung keine Rolle, C# hingegen ist eine casesensitive Sprache, die in "Oberlehrermanier" peinlichst zwischen Groß- und Kleinschreibung unterscheidet. Kommentare In C# sind auch mehrzeilige, in VB hingegen nur einzeilige, Kommentare möglich. this wird zu Me Als Bezug auf die eigene Klasseninstanz benutzt man unter C# das Schlüsselwort this, unter VB aber Me. Gültigkeitsbereiche Während die Gültigkeitsbereiche der lokalen Variablen sich in C# eindeutig aus der durch die geschweiften Klammern eingegrenzten Blockstruktur ergeben, kann man in VB die Blöcke nur indirekt aus der Struktur der Anweisungen ableiten. Namespaces Während ein Namensraum unter VB mit Imports eingebunden wird, erfolgt dies unter C# mit using. Ehe wir weiter ins Detail gehen, zeigt die folgende Tabelle eine zeilenweise Gegenüberstellung von zwei kompletten Programmen (Konsolenanwendungen). HINWEIS: Den Quellcode für beide Programme finden Sie in den Beispieldaten! C# using System; class Program { } VB // Namespace einbinden /* Das Programm ist eine Konsolenanwendung */ static void Main(string[] args) { char c; Console.WriteLine("Umrechnung Euro-Dollar"); do { float kurs, euro, dollar; Console.Write("Kurs 1 : "); kurs = Convert.ToSingle(Console.ReadLine()); Console.Write("Euro: "); euro = Convert.ToSingle(Console.ReadLine()); dollar = euro * kurs; Console.WriteLine("Sie erhalten " + dollar.tostring("0.00 Dollar")); Console.Write("Programm beenden? (j/n)"); string s = Console.ReadLine(); c = s[0]; } while(c!= 'j'); } Imports System Module Module1 ' Namespace einbinden ' Das Programm ist eine ' Konsolenanwendung Sub Main() Dim c As Char Console.WriteLine("Umrechnung Euro-Dollar") Do Dim kurs, euro, dollar As Single Console.Write("Kurs 1 : ") kurs = CSng(Console.ReadLine()) Console.Write("Euro: ") euro = CSng(Console.ReadLine()) dollar = euro * kurs Console.WriteLine("Sie erhalten " & dollar.tostring("0.00 Dollar")) Console.Write("Programm beenden? (j/n)") c = CChar(Console.ReadLine()) Loop While c <> "j" End Sub End Module

51 R7 Anwendungen von C# nach Visual Basic portieren Datentypen C#-Datentyp VB.NET-Datentyp.NET-CLR-Typ byte Byte System.Byte sbyte SByte System.SByte short Short System.Int16 ushort UShort System.UInt16 int Integer System.Int32 uint UInteger System.UInt32 long Long System.Int64 ulong ULong System.UInt64 float Single System.Single double Double System.Double decimal Decimal System.Decimal char Char System.Char bool Boolean System.Boolean string String System.String object Object Object Operatoren C# = ++ * % VB + / - = + * / \ Mod ^ - C# VB C# & ^ &&! And Or Xor AndAlso OrElse Not == < <=!= VB > >= = < <= <> > >= Verzweigungen VB C# If zensur = 1 Then Label1.Text = "Sehr gut!" ElseIf zensur = 2 Then Label1.Text = "Gut" ElseIf zensur = 3 Label1.Text = "Befriedigend" Else Label1.Text = "Nicht erlaubte Zensur!" End If if (zensur == 1) label1.text = "Sehr gut!"; else if (zensur == 2) label1.text = "Gut"; else if (zensur == 3) label1.text = "Befriedigend"; else label1.text = "Nicht erlaubte Zensur!";

52 2 Sprache VB C# Select Case zensur Case 1: Label1.Text = "Sehr gut" Case 2: Label1.Text = "Gut" Case 3: Label1.Text = "Mmmm" Case Else Label1.Text = "????" End Select switch (zensur) { case 1: label1.text = case 2: label1.text = case 3: label1.text = default: label1.text = "????"; } Try c = a / b Me.Text = c.tostring Catch ex As Exception MessageBox.Show(ex.Message) End Try try { c = a / b; this.text = c.tostring(); } catch(exception ex) { MessageBox.Show(ex.Message); } "Sehr gut"; break; "Gut"; break; "Mmmm"; break; break; Schleifen VB C# For i As Integer = 1 To 10 ListBox1.Items.Add("Hallo!") Next i for (int i = 1; i <= 10; i++) listbox1.items.add(" Hallo!"); Do While i <= 10 ListBox1.Items.Add("Hallo!") i += 1 Loop while (i <= 10) { listbox1.items.add("hallo!"); i++; } Do ListBox1.Items.Add("Hallo!") i +=1 Loop While i <=10 do { listbox1.items.add("hallo!"); i ++; } while (i <= 10); Arrays VB C# Dim A(100) As Double A(0) = 12.5 double[] A = new double[100]; A[0] = 12.5; Dim feld As Double For Each feld In A MessageBox.Show(feld.ToString) Next feld foreach (double feld in A) { MessageBox.Show(feld.ToString()); }

R7 Anwendungen von C# nach Visual Basic portieren 53 Strukturen VB C# Structure Person Public vorname, nachname As String Public alter As Integer End Structure struct Person { public string vorname, nachname; public int alter; } Enumerationen VB C# Enum erstesquartal As Byte JANUAR = 1 FEBRUAR MÄRZ End Enum enum erstesquartal: byte {JANUAR = 1, FEBRUAR, MÄRZ } Arrays sind in.net alle dynamisch und beginnen grundsätzlich mit dem Index 0, dieser ist in C# in eckige, in VB hingegen in runde Klammern einzuschließen. In VB ist einfaches Umdimensionieren von Arrays zur Laufzeit mittels ReDim-Anweisung möglich. Funktionen, Prozeduren, Methoden VB C# Function Kugel(ra As Double, sg As Double) As Double Dim vol As Double = 4 / 3 * Math.Pi * Math.Pow(ra, 3) Return sg * vol End Function double Kugel(double ra, double sg) { double vol = 4 / 3.0 * Math.PI * Math.Pow(ra, 3); return(sg * vol); } Sub Kugel(ra As Double, sg As Double) Dim vol As Double = 4 / 3 * Math.Pi * Math.Pow(ra, 3) gew = sg * vol End Sub void Kugel(double ra, double sg) { double vol = 4 / 3F * Math.PI * Math.Pow(ra, 3); gew = sg * vol; } Declare Function GetDC Lib "user32" _ Alias "GetDC" (hwnd As Integer) _ As Integer... Dim dc As Integer = GetDC(0) [DllImport("user32.dll")] static extern int GetDC(int hwnd);... int dc = GetDC(0);