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.
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 Sprachumfang 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. |
|
|
Kenntnisse im Umfang der
Kurse |
|
|
Vortrag mit vielen Übungen, in denen praxisnahe Programme entwickelt werden |
|
Ort und Zeit: |
Dieses Seminar wird als Firmenseminar (inhouse) angeboten. |
|
Dauer: |
5 Tage |
In der ersten Hälfte dieses Kurses wird der gesamte Sprachumfang von C++/CLI vorgestellt, und in der zweiten einige der wichtigsten .NET-Klassen.
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
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
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