[Allegro] Fortbildung 6.3: Der Reservespeicher

Bernhard Eversberg ev at biblio.tu-bs.de
Fr Mai 13 08:04:07 CEST 2005


                                                              08-06-2004
Fortbildungskurs                                             13-05-2005

    6    Fortgeschrittene Erfassungshilfen
    6.3    Der Reservespeicher (= Hintergrundspeicher)


Sie erinnern sich an 5.3.2: Mit Alt+k ausgewählte Felder aus dem
momentanen Datensatz herauskopieren in den Reservespeicher, um später
darauf zurückzugreifen mit Alt+r und erneut Alt+k.
"Hintergrundspeicher" ist nur der alte Name für "Reservespeicher",
d.h. er ist genau dasselbe.
Er wurde erfunden, um sowas wie ein Ersatzteillager immer bei der
Hand zu haben. Der Phrasenspeicher ist was ganz Ähnliches, der
Unterschied ist nur, daß im Reservespeicher komplette Datenfelder
einschließlich Kategorienummer gelagert sind, im Phrasenspeicher
dagegen beliebige Zeichenfolgen ("strings"), die an jeder beliebigen
Stelle einkopiert werden können in Datenfelder, aber sogar auch
in das Anzeigefeld.

Alt+r, das weiß inzwischen jeder(?), schaltet die Anzeige des Reserve-
speichers ein und wieder aus. Die Schrift wechselt auf kursiv, damit
man sofort merkt, was man da gerade sieht.

Jetzt kommen wir auf den Punkt:
Aber nicht nur mit Alt+k kann man Felder aus dem Hintergrund rüber-
holen! Es gibt noch was Besseres: im FORMULAR, wenn der Cursor
in einem Feld steht, das übernommen werden kann: nur . eingeben,
einen Punkt also, und Enter - schon erscheint eine Kopie des betr.
Feldes aus der Tiefe des Hintergrundes. Mehr dazu unten: ExtraTip

Wie bei DOS (wenn man #a gegeben hatte):
Ein Hintergrundfeld kann man bearbeiten und dann mit Enter in den
aktuellen Datensatz überführen. Hier wird die Reservefunktion
besonders deutlich:
Alt+r - Ersatzteil auswählen - Enter - evtl.ändern - Enter - Alt+r

Im Reservespeicher stehen aber nicht nur echte Datenfelder, sondern
weiter unten sieht man lauter Zeilen, die alle mit #u beginnen. Das
sind die "Nutzervariablen" (daher das u für "user").
Diese #u-Zeilen (Felder) im Reservespeicher kann man, anders als bei
DOS, sogar bearbeiten: Enter drücken, dann erscheint das ausgewählte
Feld im Schreibfeld, dort kann man sich daran zu schaffen machen,
erneutes Enter transportiert es zurück in die Liste. Brauchbar ist
das z.B. für die Zeilen, die mit #uX beginnen, denn das sind die
zu den Flip-Buttons gehörigen Befehle. Etwas füer FLEXologen, die
online und real-time was testen wollen!

Hat man vorn die Nummer geändert, wird das Feld mit dieser Nummer
einsortiert, das alte bleibt dann unter der alten Nummer unverändert
stehen! Beseitigen kann man jede Zeile so: Balken drauf, Entf-Taste.
Ohne Nachfrage ist sie dann aber sofort und nicht-mehr-rückholbar
verschwunden!
Einige #u-Variablen haben ganz besondere Funktionen:

#uX0 ... #uX9 : Befehle für die Flip-Buttons (9 und 10 nicht sichtbar)
                 #uX5 wird ausgeführt, wenn man Alt+5 drückt.
                 Diese Einträge bleiben über die Sitzung hinaus
                 erhalten, die anderen alle nicht.

#uYx    Flipzeilen. Diese stellen sich dauernd automatisch ein.
#uZx    Schauen Sie mal genau hin, was da steht! Es hängt immer
             damit zusammen, was gerade in der Anzeige steht.

#uX=    AutoFLEXe (etwas für FLEXperten)
#uX:        (siehe dazu  h flex, Abschnitt E)
#uX;

#uAL    Wenn besetzt, ist ALFA eingeschaltet, wenn nicht, ist es aus.

#uxa    Zuletzt benutzte Indexeintragung
#uxb    Nummer des zuletzt benutzten Registers
#uzC    Diese 3 entstehen beim FLEX-Befehl  var zc,
#uzD        (siehe dazu   h xcstring )
#uzF
#uV1    In RTF-Texten als eingebettete Variable %1 verwendbar
#uzo    Wenn 0, dann ist es ein Online-Satz, 1 Offline-Satz

Die anderen werden von den Export- und Indexparametern verwendet,
aber auch von FLEX-Makros. Wer sich auf diesen Gebieten betätigt,
muß gut aufpassen, nicht dieselbe Variable für ganz verschiedene
Zwecke zu verwenden, sonst kann's Überraschungen geben! In den
StandardFLEXen wird für die Namen fast immer eine Kombination von
einem Klein- plus einem Großbuchstaben genommen, z.B. #ucW, was
aber nicht zwingend ist.

#u1 und #u2 sind keine Nutzervariablen, sondern Hilfsvariablen, die
ganz oben in der Satzanzeige erscheinen, nicht im Reservespeicher.
Sie gehören zum Datensatz und werden auch mit ihm gespeichert, wenn
sie vorkommen. Man kann sie normal eingeben und bearbeiten.
Sie dienen einigen internen Funktionen, vor allem in den Index-
parametern, aber auch beim Sortieren. Der besondere Vorteil:
  #u1 / #u2 können in JEDER Datenbank vorkommen, auch wenn sie
nicht das A-Schema hat.


 >>ExtraTip
Im DOS-Programm PRESTO ist/war es so: Wenn man einen Satz speichert,
dann werden seine Datenfelder automatisch in den Hintergrundspeicher
kopiert. Beim nächsten Satz kann man darauf zurückgreifen, indem
man bei der Eingabe z.B. eingibt:  .40  Dann wird die #40 aus dem
Hintergrund in den Vordergrund geholt, also in den neuen Datensatz
kopiert.
Wenn man das in a99 auch nutzen will, muß folgendes gegeben sein:
-- In der INI-Datei muß stehen
    SaveAsk=2
-- und in der FLEX-Datei  onput.flx  muß stehen
    :save
    copy reserve

Für die DemoBank ist das so eingestellt! Wenn Sie es für die eigene
Bank nicht wollen, also entweder  SaveAsk  in der eigenen INI anders
setzen oder den Befehl  copy reserve  aus der onput.flx rausnehmen.
(Diese Datei liegt auf dem FLEX-Verzeichnis. Kopieren auf das eigene
Datenbankverzeichnis und dort ändern!)





Mehr Informationen über die Mailingliste Allegro