[Allegro] Parameter für Anzeigefeld

Bernhard Eversberg ev at biblio.tu-bs.de
Do Nov 29 07:21:50 CET 2012


Am 29.11.2012 00:23, schrieb Albert Thommen:
>
> Das war leider nichts. In der erwähnten Zeile bewirkt I3,z nichts. Ich
> kann sogar die ganze Zeile ohne Wirkung deaktivieren.
>
> Leider habe ich keine Ahnung wie ich ausfindig machen kann mit welcher
> Zeile die alte Signatur exportiert wird. Nur die Zeilen 399 und 401
> enthalten explizit #90z.

Es passiert in den Zeilen
#902 ++ p>c m>c
#902 +#9X p111 e0
#90a ++ p>c m>c

wo das ++ die vorhandenen Kategorien alle als Schleife abarbeitet, und
darunter auch die #90z. (Wenn #902 vorkommt, wird die Zeile #90a ... 
übersprungen, weil die #90a usw. dann schon bearbeitet ist.)
(Das Problem liegt also eigentlich darin, daß man für die alte
Signatur eine #90 nimmt und nicht eine ganz andere Feldnummer.
Da war jemand beim Entwurf des Formats nicht weitsichtig genug.)

Rezept (getestet, klappt):

1. 3 Zeilen einfügen über der Zeile 392  ( #902 +#902 e"... )

#uas das e0
#90z =as
#90z p"#90z " y0 e5 M
#902 +#902 e...

2. Und 10 Zeilen tiefer die Zeile   #90z { C ...    verändern zu

#uas { C t79 "Alte Signatur: " t111 }


Durch 1. wird die #90z nach #uas kopiert und beseitigt,
deshalb muß weiter unten die #90z, wo sie ausgegeben werden soll, 
ersetzt werden durch #uas, die dann und nur dann existiert.

Nach Abarbeitung der gesamten Anzeige wird automatisch die beseitigte
#90z wieder eingefügt, darum muß man sich nicht kümmern.
(Besser gesagt: der gesamte Satz wird vor der Abarbeitung kopiert
in einen Hilfsbereich und am Ende wieder zurück, denn im Prinzip könnte
man ja mit den M-Befehlen beliebige Veränderungen am Satz vornehmen,
die sich aber nur auf die Anzeige auswirken sollen, nicht auf
den Satz im Arbeitsspeicher.)

Soviel in Kurzform. Es gäbe noch mehr zu sagen und zu verbessern an
der Datei, in der noch vieles, wenn nicht alles, im argen liegt, das
wird baldmöglichst geschehen.

Ja, die spartanische Kryptik der Exportparameter ist schon ein schlimmes
Hemm- und Hindernis. Ihre Entwicklung fiel in eine Zeit (um 1985), als
Arbeitsspeicher noch knapp und Rechenleistung schwach war. Heutzutage
ist es undenkbar, daß jemand sowas nicht nur ausdächte sondern auch
noch programmierte...

B.E.







Mehr Informationen über die Mailingliste Allegro