Defining User-Defined Types

The definition of a User-Defined Type begins with the reserved word TYPE and ends with the keywords END TYPE.  In between, you define the names and data types of the member elements (fields) that are to be part of the new Type.  For example:

TYPE StudentRecord

  LastName     AS STRING * 20 ' A 20-character string

  FirstName    AS STRING * 15 ' A 15-character string

  IDnum        AS LONG        ' Student ID, a Long-integer

  Contact      AS STRING * 30 ' Emergency contact person

  ContactPhone AS STRING * 14 ' Their phone number

  ContactRel   AS STRING * 8  ' Relationship to student.

  AverageGrade AS SINGLE      ' Single-precision % grade

END TYPE

Remember that the definition of a User-Defined Type does not set aside memory for storing data of that Type.  Rather, it defines a template for the new Type StudentRecord.  Then when the compiler encounters a statement declaring (or creating) a variable of the new Type, it will "know" how many bytes of storage to set aside for the variable.  In order to use this new Type, you must declare variables of that Type with the DIM statement:

DIM Student AS StudentRecord

 

See Also

User-Defined Types (UDTs)

Accessing the fields of a User-Defined Type

Nesting User-Defined Types

Arrays within User-Defined Types

Using arrays of User-Defined Types

Using User-Defined Types with procedures

Storage requirements and restrictions

Unions