User Defined Types
A user defined type (or data structure) lets you create a single data type that can represent more than one built-in data type.
Often abbreviated to UDTs.
The default value is the default value of the individual elements
You create a user defined type using the Type statement.
A type is a collection of variables (or fields)
This combines multiple data types into a single data type.
sField1 As String
iField2 As Integer
bField3 As Boolean
This allows you to define a single variable to access all the fields
You define custom data types outside of procedures at the top of your module. Once you have created your type use the Dim statement to declare a variable of that type.
Dim uMyUserDefinedType As type_UserDefined
uMyUserDefinedType.Field1 = "Tuesday"
uMyUserDefinedType.Field2 = 24
uMyUserDefinedType.Field3 = False
Types can be very useful but they do have a number of limitations:
You can't declare a new instance of a type. They must all be declared at design time
You can't validate or restrict the values that are assigned to the different fields
A type is just a static data structure and cannot have any actions associated with it
Using Classes instead of types can overcome all these limitations
You define user defined data types outside at the very top of your modules before any procedures or functions.
UDTs are far more efficient than using a Collection object
It is important to visually distinguish user defined types from other data types.
For this reason is should always be prefixed with an uppercase T.
lContactNo As Long
sName As String
sAge As String
lDateBorn As Long
Once you have declared the user defined type you can use the Dim statement to declare a variable of that type.
Dim uMyVariable As TPerson
A fixed array is an example of a static data structure where you know the total number of elements
Arrays are linear
Arrays can be resized but not very efficiently.
Arrays can be sorted but not very efficiently.
Arrays do not use space very efficiently
If you declare an array to hold 50 elements and then only use 5.
Dynamic Data Types
These always refer to data in memory.
The size only increases when necessary
Contains at least once to another instance of the same class
The simplest example is a linear data structure
Linear Data Types
This is a dynamic data structure
Each element contains information and a reference to another element of the same type
Easy to add and remove elements in any position
Easy to resize
Typically include at least one header item
Since VB 6.0 user defined types can be passed as property values.
Since VB 6.0 user defined type can be used in public function declarations
When defining a user defined type all variables within the type should be in capitals
A UDT is not a variable and does not take up any space.
© 2023 Better Solutions Limited. All Rights Reserved. © 2023 Better Solutions Limited TopPrevNext