Declares an enumerated type.

Enum [typename [ Explicit ] ]
symbolname [= expression] [, ...]
End Enum

Name of the Enum
Name of the constant
A constant expression
Requires that symbols must be explicitly referred to by typename.symbolname

Enum, short for enumeration, declares a list of symbol names that correspond to discrete values. If no initial value is given, the first item will be set to 0. Each subsequent symbol has a value one more than the previous unless expression is given.

Symbols may be each on their own line, or separated on a single line by commas.

An Enum is a useful way of grouping together a set of related constants. A symbol can be accessed like a constant, e.g: a = symbolname. But if the name clashes with another symbol, it must be resolved using typename.symbolname. This resolution method is always required if you make the enum Explicit.

A non-Explicit Enum declared inside an Extern ... End Extern block will add its constants to the parent namespace directly, as in C, instead of acting as a namespace on its own. It disallows the typename.symbolname style of access, and the constants may conflict with other symbols from the parent namespace.

An Enum can be passed as a user defined type to overloaded operator functions.

Enum MyEnum
    option1 = 1
End Enum

Dim MyVar As MyEnum

MyVar = option1

Select Case MyVar
    Case option1
        Print "Option 1"
    Case option2
        Print "Option 2"
    Case option3
        Print "Option 3"
End Select

Dialect Differences:

Differences from QB:
See also:
Back to User Defined Types
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki

sf.net phatcode