03.11.2013 Aufrufe

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

SMALLTALK K1ex127-.45ex51275ahler/Bothner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

294 14 Langfristige Sicherung von Objekten<br />

schreibenDatei: aString sichernBag: aBag<br />

|ausgabeDatei|<br />

ausgabeDatei := File pathName: aString.<br />

aBag do: [:einObjekt|ausgabeDatei space; nextPutAll:einObjekt].<br />

ausgabeDatei close<br />

Diese Methode ist innerhalb der von uns im Abschnitt 13.3 eingerichteten Klasse<br />

“AnforderungenView” zu vereinbaren. Ferner ist die innerhalb dieser Klasse festgelegte<br />

Methode “ende:” wie folgt abzuändern:<br />

ende: aTopPane<br />

self close.<br />

self schreibenDatei:(Prompter prompt:’Gib Dateiname:’ default:’’)<br />

sichernBag:<br />

( (Smalltalk at: ((Skalenniveau,’WerteErfassung’,Jahrgang)<br />

asSymbol))<br />

bereitstellenDateiwerte )<br />

Hinweis: Als Ergebnis-Objekt von “(Prompter prompt: ’Gib Dateiname:’ default:”)”<br />

resultiert derjenige Name, der in das Eingabefeld eines zuvor angezeigten Dialogfeldes als<br />

gewünschter Dateiname eingetragen wurde.<br />

Damit in dieser Form auf die bereits erfaßten Werte zugegriffen werden kann, ist die<br />

Methode “bereitstellenDateiwerte” zusätzlich wie folgt innerhalb der Klasse “WerteErfassungView”<br />

festzulegen:<br />

bereitstellenDateiwerte<br />

∧ daten bereitstellenWerte<br />

Wird nach dieser Ergänzung die Lösung von PROB-9 in Form eines Laufzeit-<br />

Systems erstellt und – ohne Entwicklungs-System – zur Ausführung gebracht, so<br />

ist die Sicherung der erfaßten Punktwerte durch die Speicherung in einer Datei<br />

gewährleistet.<br />

Dies gibt uns die Möglichkeit, nach einem erneuten Start des Laufzeit-Systems auf<br />

die gesicherten Punktwerte zuzugreifen, so daß auch die Fortsetzung einer Erfassung<br />

durchführbar ist.<br />

Um die Lösung von PROB-9 ergänzen zu können, stellen wir im folgenden Abschnitt<br />

eine Methode vor, mit der der Zugriff auf den Inhalt der zuvor eingerichteten Datei<br />

ermöglicht wird.<br />

Hinweis: Es lassen sich nicht nur die Punktwerte selbst, sondern auch Messages sichern,<br />

durch deren Ausführung eine ursprünglich vorhandene Instanz – samt der in ihr zuvor<br />

gesammelten Punktwerte – automatisch wiederhergestellt werden kann. Damit diese Rekonstruktion<br />

möglich ist, muß allerdings das Entwicklungs-System zur Verfügung stehen.<br />

Derartige Messages werden in Form von Zeichenketten erhalten, die sich als Ergebnis-<br />

Objekt der Message “storeString” ergeben. Dabei ist als Empfänger-Objekt jeweils dasjenige<br />

Objekt aufzuführen, das wiederhergestellt werden können soll.<br />

Weist z.B. die Instanz-Variable “daten” aus der Klasse “WerteErfassungModell” auf einen<br />

Bag mit dem Punktwert “32”, der über den Einsatz von “InWerteErfassung11” als Instan-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!