TagLists implementation in Blitz Basic


One of the bad points in Blitz Basic is the totally lack of taglist support. Taglists are an essential item to write code on Amiga on OS2+. Sadly, Blitz lacks completely of taglist support... and this took all Blitz programmers to look for alternative solutions.

What we offer in this article is just an "elegant" and functional way of implementing tags hoping it could be useful to you. The program you'll find is a set of commands that allows full taglists control: if you'll use this code inside your programs, you will not need to worry how taglists works anymore.


A Bit Of Teory

Anyway, it is good to know how are internally structured taglists.

With the word taglist you intend a list of tags.

A tagitem could be defined in this way:

NewType .tagitem
  ti_Tag.l
  ti_Data.l
END NewType

As you can see, inside a single tagitem there are two fields: ti_Tag contains a Long value and identifies the tag you want to modify and ti_Data is the new value we want to assign to the tag: it is a Long too.

A Taglist can be described such as a memory area ordered where tagitems are organized.

A memory area containing a taglist could be rappresented in this way:

Tag_to_modify value_to_assign Tag_to_modify value to assign ....

and so on, until we'll find a Tag_to_modify set to 0.


Commands Presented

Commands we present are a complete and safe implementation of taglists in Blitz Basic 2. Using these commands, you can be sure not to have any problem in using taglists and you'll have full access to all OS calls using tags.

You can find the complete source here

Main Page



    Written By: Fabio Rotondo      e-mail: fsoft@intercom.it
                C.so Vercelli 9
                28100 Novara
                ITALY               tel:    (ITA) - (0)321 459676