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.

296 14 Langfristige Sicherung von Objekten<br />

Um die Punktwerte in einen bereits instanziierten Sammler zu übernehmen, ist z.B.<br />

die folgende Methode “lesenDatei:” geeignet:<br />

lesenDatei: aString<br />

|eingabeDatei|<br />

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

[eingabeDatei atEnd] whileFalse:<br />

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

uebertragenWert: (eingabeDatei nextWord)].<br />

eingabeDatei close<br />

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

“AnforderungenView” zu vereinbaren.<br />

Damit durch den Einsatz der Methode “uebertragenWert:” ein jeweils aus der Datei<br />

übernommener Wert in den Sammler “daten” eingetragen werden kann, muß diese<br />

Methode in der Form<br />

uebertragenWert: aString<br />

daten hinzufuegenWert: aString<br />

ergänzend in der Klasse “WerteErfassungView” festgelegt werden.<br />

Ferner ist im Hinblick auf den ursprünglich festgelegten Lösungsplan zu berücksichtigen,<br />

daß bei der Fortsetzung der Erfassung zunächst dafür gesorgt werden muß,<br />

daß eine geeignete globale Variable eingerichtet wird, die auf eine Instanziierung der<br />

Klasse “WerteErfassungView” weist.<br />

Um dies zu gewährleisten, ist die innerhalb der Klasse “AnforderungenView” festgelegte<br />

Methode “vorbereitenFortsetzungsfenster” z.B. wie folgt abzuändern:<br />

vorbereitenFortsetzungsfenster<br />

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

put: (WerteErfassungView new).<br />

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

initialisierenErfassung;<br />

festlegenUeberschrift: (’Jahrgangsstufe ’,Jahrgang).<br />

self lesenDatei: (Prompter prompt:’’ default:’’).<br />

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

durchfuehrenErfassung<br />

Hinweis: Der Name der Datei, in der die zuvor erfaßten Punktwerte als Datenstrom<br />

gesichert worden sind, wird durch das Argument von “lesenDatei:” bestimmt.<br />

Wird die Methode “vorbereitenFortsetzungsfenster” in dieser Weise vereinbart, so<br />

wird ein Sammler zur Übernahme der zuvor erfaßten Punktwerte eingerichtet. In<br />

diesen Sammler werden alle innerhalb der Datei gesicherten Punktwerte übertragen.<br />

Insgesamt garantiert die soeben vorgestellte Änderung für den Fall, daß die Anwendung<br />

allein als Laufzeit-System zur Ausführung gelangen soll, eine geeignete Lösung<br />

der Problemstellung PROB-9.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!