EnglishРусский  

Ads

Scriptius script builder
Provides the best choice in work automation and great time saving features.

CreateInstall
Freeware and commercial installers

Gentee needs your help!
How to advertise with us
 
laptop battery

Fields and pointers

Addressing fields

The . statement (dot) is used to get or set the value of a field or to call a method or a property. You should specify the name of the field or property after the dot. You should specify parameters in parentheses in case you call a method.

type customer 
{
   str    name, last_name  
   uint   age
   arrstr phones[ 5 ]
}
...
customer cust1 
cust1.name = "Tom"
cust1.age = 30
cust1.phones[ 0 ] = "3332244"
cust1.process()

Addresses and pointers

The unary operator & gives the address of a local or global variable as well as the address (identifier) of a function. The operation returns the value of uint type. However, if the result of any operation is an object, for example the function which returns a string, the address-of operator is also apllied to the obtained object. The address-of operator &, applied to the object (structure), returns the address of the required object and is used for a type cast to uint type.

uint a b
str mystr
...
a = &mystr
b = &getsomestr
b->func( a ) // equals getsomestr( mystr )

You should use the -> statement to get a value by its address. The first operand must be the name of the numeric type and the left operand must point to the value of the corresponding numeric type.

int a = 10, b
uint addra

addra = &a
b = addra->int // b = 10
addra->int = 3 // a = 3

Array element operation

Many structures or objects can include elements of other types. You can use square brackets [ ] to access the elements of an object ( array elements, string characters ). If an object is a multidimensional one, its dimensions are separated with commas. Elements are counted starting from zero. For you to be able to apply this operation to a variable, its type must have the corresponding index methods. See more details on the System type methods page.

arr myarr[ 10, 10, 10] of byte
str mystr = "abcdef"

myarr[ i, k+3, 4 ] = 'd'
myarr[ 0, 0, 0 ] = mystr[i]

Related links

Edit