Please enable JavaScript to view this site.

thinBasic Help Manual

* * HELP & MANUAL PREMIUM PACK 4 DEMO VERSION * *

This documentation was styled with a demo skin from the Premium Pack 4 add-on for Help & Manual. The contents of the skin are encrypted and not configurable. You can only publish HM projects with this skin. You cannot edit it or change it.

This version is copyright and may only be used for local testing purposes. It may not be distributed.

Please purchase the full version of the Premium Pack to get the configurable skins and remove this notice. The package will also include the Toolbox configuration utility for Premium Pack skins.

 

Description

 

Return the offset of an element inside an UDT (User Defined Type) variable.

 

Syntax

 

lPos = UDT_ElementOffset(UdtElement)

 

Returns

 

Number

Negative values means error, usually UDT element does not exists

 

Parameters

 

Name

Type

Optional

Meaning

UdtElement

UDT structure

No

An UDT element name

 

Remarks

 

First element in an UDT is at Offset 0 (zero)

 

Restrictions

 

See also

 

UDT_ElementByte,

 

Examples

 

Uses "Console"

 

Type tUDT

  a As Byte

  b As Integer 

  c As Long 

End Type                   

 

Dim v As tUDT

 

v.a = 1

v.b = 2

v.c = 3

     

PrintL UDT_ElementOffset(v.a), "(expected 0, as it is in the root)"

PrintL UDT_ElementOffset(v.b), "(expected 1, because 0 + SizeOf(Byte) = 1)"

PrintL UDT_ElementOffset(v.c), "(expected 3, because 0 + SizeOf(Byte) + SizeOf(Integer) = 3)"

PrintL

 

PrintL "The following should print 1, 2, 3"

PrintL Peek(Byte   , VarPtr(v) + UDT_ElementOffset(v.a))

PrintL Peek(IntegerVarPtr(v) + UDT_ElementOffset(v.b))

PrintL Peek(Long   , VarPtr(v) + UDT_ElementOffset(v.c))

PrintL

 

WaitKey

Created with Help+Manual 8 and styled with Premium Pack Version 4 © by EC Software