AW: [Allegro] Exportsprache Dopplungen

Thomas Fischer fischer at mail.sub.uni-goettingen.de
Di Jun 7 14:12:08 CEST 2005


Hallo Herr Möller!

> 
> Leider kommt es zu doppelten 
> Ausgaben, bei der folgenden Abarbeitung von Sprungmarken (in der 
> Datei gibt es keine Kopfbefehle):
> 
> 
> #00 +A i1,u e0 #zz 0
> #00 +A i1,h i2,b e0 #zz 0
> #00 +B i1,z e0 #zz 0
> #00 +C i1,b e0 #zz 0
> #00 +C i1,k e0 #zz 0
> #00 +C i1,a e0 #zz 0
> #00 +C i1,m e0 #zz 0
> #00 +C i1,f e0 #zz 0
> #00 +D i1,h I2,b e0 #zz 0
> 
> #-A
> #00 "001 "
> ...
> 
> #-B
> #8n "331 "
> ...
> 
> usw.
> 
> dabei wird in den Sprungmarken z.B. mehrmals #8n "331 " 
> ausgegeben und wenn ich nach jeder Sprungmarke #+# setze geht er 
> nur noch zur Sprungmarke -A. Wo ist mein Denkfehler?

Ich fürchte, Ihr Script kann so nicht das gewünschte liefern.
Der Test mit
i1,u
testet das _erste_ Zeichen des bei #00 vorliegenden Eintrags. Das ist gewissermaßen definitionsgemäß 0:
"Anweisung nur fortsetzen, wenn auf Position k das Zeichen x steht  (Position 1 = erste Kategorieziffer)" steht dazu im Handbuch. Das ist ungewöhnlich, dient aber bei Allegro dazu, notfalls verschiedene Variablen #uxy verschieden zu behandeln.

Was Sie brauchen, ist wahrscheinlich ein Test auf den _ersten Buchstaben des Inhalts_ von #00. Bei einem dreistelligen Kategoriesystem (so sieht es hier aus) wäre das
#00 +A i4,u e0 #zz 0

Dann springt die Bearbeitung nach #-A, wenn der Inhalt vpn #00 mit u anfängt.
Wenn Sie dann aber nicht auch noch alles das abarbeiten wollen, was unter #-B, #-C etc. steht, müssen Sie hinter jedem Buchstaben noch einen Ausstieg definieren. Entweder #+#, wenn nichts mehr kommen soll, oder den Sprung nach einer beliebigen Stelle, etwa

#-A
#00 "001 "
...
#+S

#-B
#8n "331 "
...
#+S
usw.

#-S
  hier geht's dann weiter


Mit freundlichen Grüßen
Thomas Fischer 




Mehr Informationen über die Mailingliste Allegro