Home

Microsoft Visual C++ 2008/2010 Seminare

Diese Seminare werden von Prof. Richard Kaiser gehalten, der seit vielen Jahren Seminare für zahlreiche Firmen durchführt (Referenzen). Er ist der Verfasser der Bücher „C++ mit Microsoft Visual C++ 2008“ und „C++ mit dem Borland C++Builder“, und ist Mitglied im DIN Normierungsausschuss Informationstechnik NI-22.  


 

Teil 4: C++/CLI und die .NET-Klassenbibliothek

C++/CLI ist eine Weiterentwicklung der Programmiersprache C++, die nahtlos auf C++ aufbaut und die Besonderheiten der CLI (Referenz-, Werte- und Interface-Klassen, Eigenschaften, Ereignisse, Delegat-Typen, garbace collection usw.) in einer für C++-Programmierer intuitiven Form zur Verfügung stellt. Diese Erweiterungen ermöglichen die Entwicklung von .NET-Anwendungen und eine Nutzung aller Möglichkeiten der .NET-Klassenbibliothek unter Visual C++ 2008/2010. Damit ist es inbesondere nicht notwendig, für die .NET-Programmierung auf C# umzusteigen.

Die Änderungen von C++/CLI gegenüber C++ sind vor allem reine Spracherweiterungen und keine Änderungen der Bedeutung von C++-Sprachelementen. Deshalb kann ein C++/CLI-Compiler aus einem Standard-C++ Quelltext ein Programm erzeugen, das sich weitgehend genauso verhält wie ein von einem Standard-C++ Compiler erzeugtes Programm. Das ermöglicht die Verwendung von exisitierendem C++-Code in .NET-Anwendungen.

In der ersten Hälfte dieses Kurses wird der gesamte Sprachumfang von C++/CLI vorgestellt, und in der zweiten einige der wichtigsten .NET-Klassen. Nach dieser Schulung können C++-Programmierer .NET-Anwendungen entwickeln, ohne C# lernen zu müssen.

Die .NET-Klassenbibliothek stellt die gesamte Funktionalität, die unter Win32 von der Win32-API geboten wurde, in Form einer modernen, objektorientierten  Klassenbibliothek zur Verfügung. Darüberhinaus enthält sie zahlreiche weitere Klassen, die viele Funktionalitäten bieten, die unter Win32 nicht zur Verfügung stehen.


Dieser Kurs ist der vierte von fünf aufeinander abgestimmten Kursen, in denen der gesamte Sprach­umfang des aktuellen ISO C++-Standards und die wichtigsten Erweiterungen von Visual C++ 2008/2010 behandelt werden. Dabei stehen Zusammenhänge und Sprachkonzepte im Vordergrund vor Detailinformationen, die man auch in der Online-Hilfe findet.

Zielgruppe:

Software-Entwickler, die mit Microsoft Visual Studio 2008/2010 in C++ .NET-Anwendungen entwickeln wollen.

Voraussetzungen:

Kenntnisse im Umfang der Kurse
"Teil 1: Einführung in Visual Studio 2008/2010" und
"Teil 2: C/C++ Grundlagen"
"Teil 3: Objektorientierte Programmierung"

Methodik:

Vortrag mit vielen Übungen, in denen praxisnahe Programme entwickelt werden

Ort und Zeit:

Dieses Seminar wird als Firmenseminar (inhouse) angeboten.

Dauer:

5 Tage

 

Inhalt

In der ersten Hälfte dieses Kurses wird der gesamte Sprachumfang von C++/CLI vorgestellt, und in der zweiten einige der wichtigsten .NET-Klassen.

1. C++/CLI

Managed C++ und C++/CLI
C++/CLI Basistypen, String, Decimal (ein präziser Gleitkommatyp)
Die Basisklasse System::Object
C++/CLI-Aufzählungstypen
CLI-Arrays
Handles und der Garbage Collected Heap (Managed Extensions)
Referenzklassen (ref classes),

Destruktoren und Finalisierer
Virtuelle Funktionen, new und override

Werteklassen (value classes)
initonly und literal Elemente
sealed Klassen und Funktionen
Eigenschaften (Properties)
Ereignisse (Events)
Parameter-Arrays
Selbst definierte Komponenten und ihre Ereignisse
Interface-Klassen
Delegates und Ereignisse
Attribute
Exception-Handling
Die .NET Klassenhierarchie
Die Erweiterung der Toolbox
Laufzeit-Typinformationen mit der Klasse Type
Generics
Die STL/CLR in Visual C++ 2008/2010
Dokumentationskommentare und CHM-Hilfedateien

Dokumentationskommentare und XML-Dateien
Aus XML-Dateien Hilfedateien im CHM-Format erzeugen

2. Weitere .NET Steuerelemente

Eigene Dialoge und die Klasse MessageBox
Formatierte Texte mit RichTextBox
Tabellen
Steuerelemente zur Eingabe und Prüfung von Daten

Zulässige Benutzereingaben sicherstellen
Fehleranzeigen mit ErrorProvider
Die Anzeige von weiteren Formularen und selbstdefinierte Dialoge
Das Validating-Ereignis
Texteingaben mit einer MaskedTextBox filtern
Tastatureingaben in KeyPress filtern

Symbolleisten und Statusanzeigen: ToolStrip und ToolStripContainer
Größenänderung von Steuerelementen zur Laufzeit

Die Eigenschaften Dock und Anchor
SplitContainer: Zur Größenanpassung von zwei Steuerelementen
TableLayoutPanel und FlowLayoutPanel

ListView und TreeView

ListView nach Spalten sortieren

MDI-Programme
NotifyIcon, ToolTip und HelpProvider    

3. Elemente der .NET Klassenbibliothek

Klassen für Uhrzeit und Kalenderdatum

Die Klassen DateTime und TimeSpan
Steuerelemente zur Eingabe von Kalenderdaten und Zeiten
Timer-Klassen
Hochauflösende Zeitmessung mit der Klasse Stopwatch
Kulturspezifische Datumsformate und Kalender

Threads und ihre Synchronisation

Multithreading mit der Klasse BackgroundWorker
Multithreading mit der Klasse Thread
Kritische Abschnitte und die Synchronisation von Threads
Atomare Operationen mit Interlocked
ThreadPool

Grafiken zeichnen mit PictureBox und Graphics

Welt- und Bildschirmkoordinaten
Figuren, Farben, Stifte und Pinsel
Texte zeichnen
Drucken und Druckvorschau
3D-Grafik mit Viewport3D

Die Steuerung von MS-Office Anwendungen

Word
Excel

Collection-Klassen

Die Collection-Klassen ArrayList und die generische Klasse List<T>
Die Interface-Klassen ICollection<T> und IList<T>
Die generischen Collection-Klassen Queue<T>, LinkedList<T> und Stack<T>
Dictionaries und die generische Interface-Klasse IDictionary
Die generischen Klassen Dictionary, SortedDictionary und SortedList
Spezielle Collection-Klassen

.NET-Klassen zur Dateibearbeitung

StreamReader und StreamWriter und FileStream
BinaryReader/Writer und StreamReader/Writer mit FileStreams
Der gleichzeitige Zugriff auf eine Datei und Record-Locking
Komprimieren und Dekomprimieren von Dateien
Einige weitere Elemente aus dem Namensbereich System::IO

XML-Dateien

Serialisierung

Serialisierung mit BinaryFormatter, SoapFormatter und XmlSerializer

Datenbank-Komponenten

Die Verbindung zu einer Datenbank herstellen
Tabellen und die Komponente DataSet
Einige Elemente der Klasse DataSet
SQL-Abfragen
Datenbanken mit mehreren Tabellen

Reguläre Ausdrücke
Internet-Komponenten

Die WebBrowser-Komponente der Toolbox
Up- und Downloads mit der Klasse WebClient
Die Klassen HTMLDocument und HTMLElement
Emails versenden mit SmtpClient
URLs, URIs und IP-Adressen und zulässige Strings
Netzwerkinformationenen und die Klasse Ping
TCP-Clients und Server mit TcpClient und TcpListener



Die Inhalte können an die Wünsche der Teilnehmer angepasst werden. 

Kontakt: training @ rkaiser . de , www.rkaiser.de
R. Kaiser, Schwärzlocher Straße 53, 72070 Tübingen, Tel. 07071-41598, FAX 07071-44473


Stand: 14.6.2010