TIP: Click on subject to list as thread! ANSI
echo: cbm
to: ANTON TREUENFELS
from: JOHANN KLASEK - SWAP LAST
date: 2018-06-04 11:10:00
subject: Re: C=128 Basic 7.0 HEADE

Anton Treuenfels  wrote:
>
> "GEO"  wrote in message
> news:nm9h1cl5g0f66qdjofd23tps7rsvivtm6k@4ax.com...
>> I am trying to use the header command with a variable and it won't
>> work with the DISK ID as a variable.
>>
>> A$="Disk-NAME"
>> B$="9U"
>> HEADER (A$),I(B$),D0,U8
>>
>> Gives a syntax error.
>
> I(B$) is interpreted as an array variable. BASIC does not allow array
> indices to be strings. You would get the same syntax error wherever you
> tried to do this.

Not a bad guess, but not exactly that what the interpreter really does.
It a syntax error too, but not the same!

All disk based commands uses a sub-parser to handle the position
independent arguments. The parser expects for the "I" argument exactly 2
following characters following. There is no expression evaluation at
all. You have to be careful on known tokens like "ON", "TO", "FN", "IF"
which represents only one byte, expecting an additional byte which are
taken as ID.
In the case above, the parser takes "(B" as ID and the parser wants to
continue with "$)" where it expects a "," or "TO" (not in this case) or
a end-of-line, which raises the syntax error.

Currently I may only offer the german version of the command description
for HEADER as Wiki article, https://www.c64-wiki.de/wiki/HEADER, which
describes the special behavior on disk parameters.

The workaround as mentioned before by using ",Ixx" in the diskname
parameter is just possible, because the diskname is written directly to
command channel. The only limit is the length of 16 characters. In that
way the diskname is limited to 12 characters, if the remaining 4
characters are needed for ",Ixx".


Johann

--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.