C++ -Beispiele
MyProjekt
Dieses einführende Beispiel soll den Umgang mit der integrierten Entwicklungsumgebung (IDE) Delphi2007 zeigen. Das Prinzip der Programmierung grafischer Oberflächen wird anhand typischer Klassen (TButton, TEdit, TCheckBox) gezeigt.
MyMemo
Zur Anzeige werden häufig Objekte der Klasse TMemo genutzt.
- Eine wichtige Eigenschaft dieser Klasse ist "Lines". Es wird gezeigt, wie man Lines hinzufügt, löscht, ersetzt.
- Eine weitere Eigenschaft ist "Text". Diese erlaubt das Speichern und Laden des Memo-Inhaltes in/aus einer Textdatei.
- TMemo kann nur eine Textfarbe, eine Schriftart/-stil/-größe annehmen. Reicht das nicht aus, muss man die Klasse TRichEdit nutzen (siehe "MyMainMenue")
MyEventMonitor
Viele Objekte können während der Laufzeit Ereignisse auslösen, z.B. "OnClick".
- Anhand dieses Projektes sollen wichtige Ereignisse des TButton-Objektes Button1 in einem Memo angezeigt werden.
- Es ist viel los, wenn man eine grafische Oberfläche nutzt. Jede Aktion der Eingabegeräte Maus und Tastatur hat ein oder mehrere Ereignisse zur Folge.
MyMainMenu
Schwerpunkte dieser Übung sind:
- Einrichtung eines Hauptmenüs mittels der Komponente TMainMenu. Die Verwendung von File-Dialogen mittels TOpenDialog, TSaveDialog.
- Die Nutzung der Klasse TRichEdit und hier insbesondere die Änderung der Textfarbe mittels TColorDialog und die Änderung von Schriftart und Schriftstil mittels TFontDialog.
MyDataTypes
Der Umgang mit grundlegenden Datentypen, wie Integer, Double, AnsiString soll vermittelt werden. Der Zugriff erfolgt direkt oder über Zeiger. Im Mittelpunkt steht die Typumwandlung (typecasting) von Integer|Real in String und umgekehrt.
Anleitung.DOC Programm.EXE
MyCalculator
Es soll ein Taschenrechner für die Grundrechenarten programmiert werden. Folgende Lernziele werden angestrebt:
- Erweiterter Umgang mit der Klasse TBitBtn
- Wie kann man für mehrere Objekte eine gemeinsame Ereignisbehandlung programmieren (z.B. für alle Zifferntasten oder alle Operationstasten)?
- Wie kann man Programmausnahmezustände (Exceptions) durch fehlerhafte Bedienung verhindern, wenn z.B. Alphazeichen (46,9 * abc) eingegeben werden oder bei Division durch Null?
MyCalculatorPlus
Erweiterung des Projektes MyCalculator in Richtung Bedienfehlertoleranz. Folgende Lernziele werden angestrebt:
- Einfache Maßnahmen zur Vermeidung fehlerhafter Bedienungen von Anwendungen, durch TEdit.ReadOnly:=True
- Eingabekontrolle durch Programmierung eines Automaten, der folgende Bedienablauf erzwingt:
- Eingabe Operator
- Eingabe Operand B
- Berechnung.
- Eingabe Operand A
MyCanvas
Oft will man Grafiken darstellen, z.B. Graphen von Funktionen. Dazu verwendet man die Klasse TCanvas (Zeichenfläche).
Die Zeichenfläche steht aber nur zur Laufzeit zur Verfügung.
Folgende Klassen habe eine Eigenschaft vom Typ TCanvas: TForm, TPaintBox, TImage, TBitMap.
In diesem Beispiel soll der grundlegende Umgang mit der Klasse TCanvas vermittelt werden.
MyThread1
Kommt ein Programm zum Ablauf, wird es zum Prozess. Werden in dem Programm z.B. Schleifenanweisungen mit viel Wiederholungen oder blockierende API-Funktionen aufgerufen, blockiert die Anwendung temporär oder für immer!
Besteht eine solche Gefahr, erzeugt man für diese Programmteile einen nebenläufigen Thread. Dieses Beispiel soll das Blockadeverhalten ohne und mit Thread zeigen.
MyTread2
Im Beispiel MyThread1 wurde gezeigt, dass Multi-Thread-Anwendungen oft unumgänglich sind. Im Beispiel wird der allgemeine Ablauf bei der Nutzung von Threads gezeigt:
- Einen Nachkommen von TThread anlegen,
- Erzeugung und Initialisierung des Thread,
- Nutzung,
- Beendigung des Thread