[Allegro] Scheinbare Register oder Register-Maskerade

Thomas Berger ThB at Gymel.com
Mo Dez 17 14:48:43 CET 2012


Lieber Herr Allers,

> Erstmals habe ich mich mit der im Betreff genannten Angelegenheit auseinandergesetzt: Nach einigem 
> Bemühen (Exegese des Abschnittes Nr. 3 der Verlautbarung vb149b) glaube ich, sie auch verstanden zu 
> haben und in der Lage zu sein, sie praktisch einzusetzen - bräuchte ich sie denn einmal.

ich benutze sie gerne in folgenden zwei Faellen:

* Normdateneintraege optisch hervorheben (Trefferzahl sollte stets 1 sein,
braucht daher nicht gezeigt zu werden, dafuer aber vielleicht die Herkunft
des Normeintrags?)

* Bei Signaturen und anderen Notationen, die stark gepadded werden, um
Sortierfaehigkeit zu gewaehrleisten, setze ich die erfasste Form nach
" ... " (oder sonst einem eindeutigen Trenner) in die Registereintraege,
gezeigt wird dann nur der Teil hinter " ... "


> Letztlich geht es hier ja darum, dafür sorgen zu können, daß das, was man in den Registern zu sehen 
> bekommt, anders aussieht als das, was tatsächlich gespeichert ist (sinngemäß aus der genannten 
> Verlautbarung zitiert).

...Betonung auf Register...


> Ich denke, ich habe es richtig verstanden, daß diese auch Register-Maskerade genannte Manipulation der 
> Registereinträge stets global für eins oder mehrere der 11 Register, also registerspezifisch, wirkt, und daß 
> sie nie kategorienspezifisch eingesetzt werden kann.- Richtig so, nicht wahr?

es ist ja keine Manipulation der Eintraege im eigentlichen Sinne,
sondern nur eine Umwandlung im Moment der Anzeige dieser Eintraege.
Kategorienspezifisch ist da nichts, es sei denn, der Registereintrag
vermerkt die Kategorie, aus der er stammt (die Maskerade wiederum
koennte diesen Vermerk ausblenden)


> ###
> 
> Angenommen, ich fügte in der Demo-Datenbank in der cat.api den Fußabschnitt
> 
> F
> #u1 i4,1 b1
> #+#
> 
> hinzu, derart, daß ich im gesamten Register 1 die Einträge in Großbuchstaben sehe, dann liefert mir 
> sowohl die FLEX-Datei
> 
> expo f hd-hf-kl.txt
> var "9999999 |1 hd at hf"
> Qrix
> close x
> 
> als auch
> 
> expo f ha-hz-gr.txt
> var "9999999 |1 HD at HF"
> Qrix
> 
> folgendes Ergebnis:
> 
>    1  HEIDT, ULRICH
>    1  HEISENBERG, WERNER
>    1  HEISENBERG, WERNER - SAMMLUNG
>    1  HENNENBERG, FRITZ
> 
> 'Qrix' verhält sich dieser Register-Maskerade gegenüber denkbar flexibel.
> 
> Anders ist's mit 'find':
> 
> var "|2 heisenberg?"\find
> var l\mes
> var "|2 HEISENBERG?"\find
> var l\mes
> 
> liefert zwei Anzeigen von 0 Treffern.
> 
> ###
> 
> Folgerung:
> 
> Qrix sieht sowohl das, was man zu sehen bekommt, als auch das, was tatsächlich gespeichert ist.

Falscher Schluss: Es wirkt die Umcodierung, gesucht wird also beide Male
hd at hf, es wird der identische Registerabschnitt ermittelt und nur
unterschiedlich aufbereitet ausgegeben.


> Während 'find' weder das eine noch das andere sieht.  :-((

und wenn Sie es mit Register 1 versuchen ;-?


Es gibt eine wesentliche Einschraenkung bei der Maskerade-Funktion:
Konzeptionell steht sie im Widerspruch zu den etwa gleichzeitig
eingefuehrten virtuellen Registern: Wenn ich also mir einen
Ausschnitt des Registers "PER" anzeigen lassen will, wobei "PER"
ein mit "P " gepraefixter Bereich von Register 1 ist, dann weiss
der Hilfsabschnitt leider nicht, was er am Anfang der Schluessel
unmodifziert stehen lassen muss, damit die eigentliche Indexanzeige-
Funktion es entfernen kann (oder es ist umgekehrt: Das Praefix
ist bereits entfernt und die Maskerade kann nicht mehr spezifisch
fuer den Sonderbereich formatieren. Ich erinnere mich nicht mehr
genau, es gibt auf jedenfall Aerger)


viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro