Introduction
ThinBASIC offers various elemental numeric and string data types. These are very useful in number crunching and text manipulation.
Once you start describing real-world objects or more complex math problems, you may feel the need to somehow group the data together into more complex structures.
These structures are called user defined types (UDT) in thinBasic.
Syntax
ThinBASIC uses type / end type block to denote user defined type definition.
TYPE nameOfType [alignmentModifier] [EXTENDS baseType]
element
[otherElements]
[dataHandlingfunctions]
END TYPE
Example
The definition of type looks complicated, but keep in mind only two parameters are mandatory:
- name of type
- at least one element
To give a specific example, if you want to represent a point in 2D, you could design the following UDT:
TYPE Point2D
x AS SINGLE
y AS SINGLE
END TYPE
The name of the type is Point2D
and it has two elements - x
and y
, each of SINGLE
basic data type.
You can create a variable of user defined type the same way as you do with conventional data types:
DIM point AS Point2D
In order to write or read the data, you can use the dot notation:
point.x = 1
point.y = 2
msgBox 0, strFormat$("{1}, {2}", point.x, point.y)
Arrays of user defined types are supported as well.