Programmierkurs -
Schuljahr 2008/2009
Delphi 7 - Komponenten
Button 
Während des Programmablaufs wird ein Button mit linkem Mausklick gedrückt, um eine Aktion auszulösen.
BitButton

Während
man bei normalen Buttons die Oberfläche nicht gestalten kann,
lässt sich auf einen BitBtn ein Bild ablegen.
Man kann das Bild im Objektinspektor bei Glyph einbinden.
Ein
einfarbiger Hintergrund lässt sich so auch realisieren: Mit einer
Farbe ausgefüllte Fläche als Bild speichern und dann
einbinden.
Edit 
Die Edit-Komponente dient zur Eingabe und zur Ausgabe jeweils einer einzelnen Textzeile.
Im Objektinspektor kann man den beim Start des Programms gezeigten Inhalt der Edit-Komponente unter "Text" einstellen.
Gibt man Zahlen in die Edit-Komponente ein, so werden diese als Text interpretiert.
Soll
mit den Zahlen gerechnet werden, so müssen sie in nummerische
Werte übertragen werden. Dazu dienen folgende Funktionen:
- StrToInt (string to integer) : Der Text wird als ganze Zahl interpretiert.
- IntToStr (integer to string) : Eine Integer-Zahl (ganze Zahl) wird in einen Text umgewandelt.
- StrToFloat (string to float) : Der Text wird als Dezimal-Zahl (Fließkommazahl) interpretiert.
- FloatToStr (float to string) : Eine Dezimal-Zahl (Fließkommazahl) wird in einen Text umgewandelt.
Memo 
Soll nicht nur eine Zeile ausgegeben werden (wie bei der Edit-Komponente), so kann man die Memo-Komponente verwenden.
Objektinspektor:
Unter
Lines kann rechts ein Editor geöffnet werden, in dem der Text
erstellt werden kann, der beim Programmstart im Memo-Fenster erscheinen
soll.
Unter ScollBars kann rechts gewählt werden, ob
Scrollbalken gezeigt werden sollen und ob das waagrechte oder
senkrechte Schiebebalken sein sollen.
Programmcode:
Memo1.Lines.Add('hier beliebiger Text'); fügt eine neue Zeile im Memo-Fenster an
Memo1.Clear
löscht das ganze Memo-Fenster
Weitere Bearbeitungsmöglichkeiten werden wir später kennen lernen.
Image 
Die Image-Komponente dient als Bereich, in dem Zeichnungen oder Bilder erstellt oder abgelegt werden.
Im Prinzip kann man auch auf einigen anderen Komponenten zeichnen, z. B. auch auf Form1.
Der
Vorteil bei der Image-Komponente liegt aber u.a. darin, dass Teile der
Zeichnung, die über den ausgewählten Bereich ragen, am Rand
abgeschnitten werden.
Um auf Image1 zeichnen zu können, muss die Eigenschaft Canvas (=Leinwand) aufgerufen werden.
Jeder Zeichenbefehl fängt also (zunächst) an mit
Form1.Image1.Canvas.
Nach dem letzten Punkt kommt dann die Angabe dazu, was auf der Leinwand gemacht werden soll.
Wir haben kennen gelernt:
- Form1.Image1.Canvas.Pen.Color
: Die Farbe des Pinsels wird festgelegt. Farben sind u.a.
clred, clblue, clyellow, clgreen, clwhite, clblack
Beispiel: Form1.Image1.Canvas.Pen.Color:=clblue; (Der Pinsel zeichnet nun mit der Farbe Blau). - Form1.Image1.Canvas.MoveTo(x,y) : Der Pinsel wird zur Stelle (x/y) bewegt, ohne dass dabei gezeichnet wird.
- Form1.Image1.Canvas.LineTo(x,y)
: Von der aktuellen Pinsel-Position wird zur Stelle
(x/y) hin eine Strecke gezeichnet.
Beispiel: Form1.Image1.Canvas.MoveTo(12,67);
Form1.Image1.Canvas.LineTo(312,456); Es wird
vom Punkt (12,67) zum Punkt (312,456) eine Strecke in der aktuellen
Farbe gezeichnet.
Label 
Mit der Label-Komponente erzeugt man sich auf der Form einen Bereich, auf dem man eine Beschriftung unterbringen kann.
So kann man die Funktion von Edit- oder andere Komponenten deutlich machen.
Entweder
erstellt man die Aufschrift im Objektinspektor oder stellt sie im
Programm her (z. B. : Form1.Label1.Caption:='Dies ist eine
Beschriftung'; )
Panel 
Die Panel-Komponente wird häufig als Ablagefläche für Buttons oder andere Schaltelemente benutzt.
Die Aufschrift (Caption) wird dabei meistens gelöscht.
Vorteil
der Panel-Komponente: Fixiert man die Komponente mit align >
albottom am ganzen unteren Rand der Form, so kann eine andere
Komponente (z.B. Image) mit align > alclient auf den gesamten
übrigen Bereich der Form gestreckt werden.
StringGrid 
Die StringGrid-Komponente erzeugt ein Feld mit Zellen wie bei einer Tabellenkalkulation.
Mit ColCount und RowCount kann man die ANzahl der Spalten und die der Reihen einstellen.
FixedCols
und FixedRows gibt die Anzahl der fixierten Spalten und Reihen an. Hier
kann man Überschriften einsetzen, die beim Scrollen des
Tabellenfeldes immer an derselben Stelle sichtbar bleiben. Die
fixierten Zellen werden mit dunklerer Farbe hinterlegt. In der
Abbildung ist die erste Zeile fixiert und keine Spalte.
In den Zellen können Zeichenketten (string) abgelegt werden.
Der
Zugriff auf die Inhalte der Felder geschieht über
StringGrid1.Cells[x,y] , wobei x und y die Koordinaten des
betreffendes Feldes angeben. Oben links ist das Feld mit den
Koordinaten (0/0). Das blaue Feld in der Abbildung hat also die
Koordinaten (0/1).