Zu dieser Seite gehört wiederum ein Projekt (Knopf_Muehle_6), das hier heruntergeladen werden kann.
Einen kleinen Exkurs liefert Aufgabe 3 von
Aufgabenblatt 2. Es soll die Möglichkeit bestehen, weitere Mühlen auf dem
Bildschirm erscheinen zu lassen.
Um beliebig viele Mühlen erscheinen lassen zu können, wenden wir eine einfache
Verkettung an, wie sie schon von den Waggons des Zugprojektes her bekannt ist.
Jede Mühle benötigt dafür einen Zeiger 'kenntNaechsteMuehle'
und einen Dienst 'haengeAn (pMuehle: TMuehle) , mit
der eine neue Mühle an das Ende der Mühlenkette angehängt wird.
Die
Klasse TAnwendung hat zur Verwaltung zwei Mühlen. Die eine heißt
Muehle1 und
ist die erst Mühle in der Mühlenkette. Wird eine neue Mühle erzeugt, wird
dies mit der Objektvariablen neueMuehle durchgeführt. Die neue Mühle wird dann
an die Mühlenkette angehängt, indem die erste Mühle den Auftrag zum Anhängen
erhält.
Der entsprechende Auftrag Dienst der Klasse TMuehle entspricht dem der Klasse
TWaggon:
pMuehle ist die neu anzuhängende Mühle Hat die aktuelle Mühle noch keine Nachfolgerin wird die neue Mühle direkt angehängt. Andernfalls erhält die Nachfolgemühle den Auftrag, die neue Mühel anzuhängen |
procedure TMuehle.haengeAn(pMuehle:TMuehle); begin if kenntNaechsteMuhle = nil then begin kenntNaechsteMuhle := pMuehle; end else begin kenntNaechsteMuhle.haengeAn(pMuehle); end end |
Erklärtext |
Programmcode: |
Natürlich müssen einige Aufträge von der ersten Mühle an die
anderen Mühlen weitergegeben werden.
procedure TMuehle.langsamer; begin if zGeschwindigkeit > 0.1 then zGeschwindigkeit := zGeschwindigkeit - 0.01; if kenntNaechsteMuhle <> nil then kenntNaechsteMuhle.langsamer; end; |
![]() |
|
![]() |
![]() |
Zur nächsten Seite ![]() |
© 2003 LK 12 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |