Programmieren mit dem C++-Builder |
Hinter jedem Ereignis kann eine Funktion benannt werden, die das Ereignis
bearbeiten soll. Klickt man einfach doppelt auf das Ereignis, wählt der C++-Builder
einen eigenen Funktionsnamen anhand des Ereignisses.
In jedem Fall startet der Editor und der Rahmen einer Funktion wird erzeugt. Hier
kann man programmieren, was bei Eintreffen des jeweiligen Ereignisses eintreffen
soll.
Im Parameter Sender der Ereignisfunktion steht, welches Objekt das Ereignis
ausgelöst hat. Dies ist
wichtig, wenn die gleiche Ereignisfunktion mehrere Auslöser bedient.
Formulare
Formulare entsprechen den Fenstern bei konventionell erstellten Anwendungen.
In einem Punkt unterscheiden sie sich allerdings von ihnen. Während ein Fenster
normalerweise erst dann erzeugt wird, wenn es gebraucht wird und nach Gebrauch
sofort geschlossen wird, sind Formulare sofort nach Start der Applikation
gestartet. Sie sind lediglich unsichtbar.
Darum werden Formulare auch mit den Aufrufen Show und Hide gestartet und geschlossen.
Beenden einer Applikation
Wird über das Menü das Programm verlassen, den entsprechenden Eintrag
anwählen, in den Events OnClick doppelklicken. In die sich öffnende
Funktion eintragen:
Application->Terminate();
Ereignisfunktionen
Nachdem die Objekte auf dem Formular zusammengestellt sind, beginnt die
klassische Programmierarbeit. Der Objektinspektor hat neben der Lasche "Eigenschaften"
auch die Lasche "Ereignisse". Hier werden die Ereignisse aufgezählt, die die
aktuell selektierte Komponente kennt.
Datentypen
Neben den üblichen C/C++ Datentypen gibt es im C++-Builder
noch einige besondere Typen.
AnsiString
Die Klasse AnsiString vereinfacht in einigen Fällen den Umgang mit Zeichenketten
erheblich. Der Umgang mit AnsiString ist aber schon deshalb wichtig, weil die
Komponenten Texte immer als AnsiString erwarten.
Aneinanderhängen
Das Zuweisen und Aneinanderhängen von Zeichenketten wird wie zu alten BASIC-Zeiten
einfach mit dem Gleichheitszeichen und dem Plus erreicht.
AnsiString str1, str2; str1 = "Wir hängen alle " + str2 + " zusammen."; |
AnsiString Str; char * cStr; cStr = Str.c_str(); |
Wie man einen AnsiString in eine Zeitvariable umwandeln kann, wird im Abschnitt Zeit/Datum erläutert.
if (Str.IsEmpty()) { ... |
AnsiString strZeit; TDateTime Zeit; Zeit = StrToTime(strZeit); |
Bei einem Fehler im String wird eine Messagebox erzeugt. Diese ist per try-except abzufangen.
Homepage | (C) Copyright 2003 Arnold Willemer |