AW: AW: [Allegro] Anzeigeparameter und Kopfbefehle

Fischer, Thomas fischer at sub.uni-goettingen.de
Do Apr 1 09:53:59 CEST 2010


Hallo Herr Eversberg,

> > Ich verwende ungern Programmkonstrukte, bei denen
> > unübersichtliche Nebeneffekte auftreten können.
> > Ich will mit dem #u01 aktuell gar nichts; dass der Aufruf
> > aber zum Abbruch führt, würde ich andernorts als "Bug" bezeichnen.
> >
>
> Und was hätten Sie davon? Was bringt's, hilft's, bessert's?
> Sie pappen nur der präzisen Beschreibung eines Sachverhalts -
> nur die allein ist hilfreich - ein inhaltsleeres Label auf,
> das kein Jota am Problem ändert. Können Sie machen, wir haben
> Redefreiheit, aber cui bono?
>
> Dabei ist hier das Geschehen ganz plausibel: Mit #u01 wird
> nicht nur das erste Feld des Satzes bezeichnet, es wird damit
> auch ein interner Zähler auf 1 gesetzt, der mit jedem #u02
> inkrementiert wird.
> Neuerliches #u01 setzt ihn wieder auf 1, und das Verhängnis
> nimmt seinen Lauf...
>
> Tip, wenn Sie die Kategorienummer dann dabeihaben wollen:
>
> ks=0

Was Sie hier erklären ist dasselbe, was ich oben mit "unübersichtlichen Nebeneffekten" meinte, zumal Ihre Bemerkung den Verlauf nicht vollständig erklärt: Wenn der Zähler zurückgesetzt wird, müsste eigentlich eine Endlosschleife entstehen, das passiert aber nicht. Allerdings macht das plausibel, warum #u02 nichts bringt, bevor #u01 aufgerufen wird. In der Anwendung wäre es etwas einfacher, wenn #u02 bei fehlendem Zähler den selbst auf 1 setzen würde, dann könnte durchgängig mit #u02 gearbeitet werden, so muss ich unterschieden (s.u.).
Die tatsächliche Endlosschleife, die bei Programmaufrufen entsteht, ich noch ungeklärt?

Die von mir gesuchten Labels habe ich mittlerweile bekommen, das sieht jetzt (auf das wesentliche reduziert) so aus:

#t{s0}
#u01 +C =nn #zz 0
#-B
#t{s0}
#u02 +C =nn #zz 0
#t{'Ende'}              Abschluss
#+#

#-C
#t{s4}
        #unn p{'Feld: '}
#unn dna b1 e3 w Lna #zz 0                      Namen belegen
#una p{'\b1 '} P{'\b0\tab'} #zz 0               Namen ausgeben
#unn b4
#+B
#+#

Mit geeigneter Belegung von #unn (Feldnummer am Anfang) liefert
#unn dna b1 e3 w Lna #zz 0
tatsächlich das Label des Feldes.

Mit freundlichen Grüßen
Thomas Fischer



Mehr Informationen über die Mailingliste Allegro