[Allegro] Avanti: if #nnn und Befehlsfolge

Sibylle Koczian Sibylle.Koczian at t-online.de
So Mai 2 19:04:13 CEST 2010


Lieber Herr Eversberg, liebe Liste,

diese Geschichte ist leider auch noch nicht wirklich erledigt.

> Bernhard Eversberg schrieb:
>> Sibylle Koczian schrieb:
>>>
>>> Also habe ich in meinen Job diese Schleife gesetzt:
>>>
>>> first
>>> :loop
>>> if #20 write #20$t n; jump wtr
>>
>> Hier ist zu beachten, daß man hinter dem ; kein Spatium setzt, sondern
>> sofort der erste Befehlsbuchstabe kommt.
>> Nicht gut, klar, aber so isses, und dann klapptes.
>>
> 

So weit, so gut, aber: es klappt nicht, wenn die Ausgabe mit 
Manipulationsbefehlen behandelt wird. Beispiel:

    *** jumptest.job

switch coding 0
variable cl
variable (b" -uRN" f" " e" ")
insert #uRN
variable "#" #uRN
f1nd
write #00 " = " #20 " / " #90 n
if #90 write #90(b"-" r6,0);jump meld
// if #90 write #90;jump meld    <-- Kein Problem mit dieser Zeile
write "Keine Signatur"
end
:meld
write " * Signatur"

Aufruf und Ergebnis:

D:\allegro>acon -jtemp\jumptest -uRN25 -bdemo2\cat -Pd:\allegro
ProgDir=
813139 = Julius Cäsar <deutsch> / 1412-3999
003999av-w v30.40Keine Signatur
D:\allegro>

Mein Verdacht, dass der Name der Sprungmarke als cstring interpretiert 
wird, verstärkt sich: diesmal ist es doch ziemlich offensichtlich die 
Sondervariable m, die da ausgegeben wird.

Wenn das eine unvermeidliche Eigenschaft derartiger Konstruktionen ist, 
dann bitte dokumentieren! Man kann es ja umgehen.

Kein spezielles Win7- oder 64bit-Problem, auf beiden Rechnern ausprobiert.

Beste Grüße,
Koczian




Mehr Informationen über die Mailingliste Allegro