[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