Using Setting Numbers

Up until now we referred to settings by their names. It is also possible to call settings by their number. Settings are numbered in the order of their appearance in the setting configurator . Settings are counted from 0.

Here is a neat example where we read (the first member of) every available setting. Notice how the error condition (EN_STG_STATUS_UNKNOWN ) is used to exit the loop:

** Tibbo Basic **


...
dim s as string
dim f as byte
dim result as en_stg_status_codes
f=0
do
 result=stg_sg(str(f),0,s,EN_STG_GET)
 f=f+1
loop until result<>EN_STG_STATUS_OK

if result<>EN_STG_STATUS_UNKNOWN then
 sys.halt 'some error has occurred!
end if
...

Of course, the above example can be implemented in a more conventional way using stg_get_num_settings() :

** Tibbo Basic **


...
dim s as string
dim f as byte
dim result as en_stg_status_codes

for f=0 to stg_get_num_settings()-1
 s=stg_get(str(f),0)
next f
...

So, how does the STG library know when to interpret your input as a setting name or number? Simple! If it starts with a digit (0-9), then this is a setting number, otherwise it is a setting name. Names, therefore, can't start with a digit.

** Tibbo Basic **


...
s=stg_get("CPTN",0) 'refer to the setting by its name
s=stg)get("4",0) 'refer to the setting by its number
...