Declaring a Variable

To declare a variable in STATISTICA Visual Basic use the keyword Dim as the following demonstrates:

'Creates a string variable
 Dim Word As String

'Creates a double-precision variable
 Dim Number As Double

The declaration of the variable must take place prior to using it; otherwise a redefinition error will occur.  The following illustrates this problem:

'Because you didn't declare "Number", 
 'SVB implicitly creates it for you
 Number = 5.3

'SVB created "Number" for you already,
 'so you can't declare the same variable twice.
 'This won't work
 Dim Number As Double

If a variable is not explicitly declared by you then the STATISTICA Visual Basic interpreter will internally create it for you of the type variant. This may be undesirable for some users because the variant type consumes more memory than other types. Also, it may be difficult to manage variables when they are not explicitly defined by you. the following demonstrates this:

Sub Main

'SVB creates a local variable called "Word"
 'for you because you didn't declare it
 Word = "Hello"
 Call OtherFunction()

'The message box will say "Hello", not "Hello, World"
 MsgBox Word

End Sub

Sub OtherFunction

'SVB creates another local variable called "Word"
 'for you because you didn't declare it.
 'Note that it is not using the "Word" from the
 'Main function
 Word = "Hello, World"

End Sub

The problem here is that it may appear that the procedure OtherFunction is referencing the variable Word from the Main function; however, this is not the case. SVB generates a variant variable called Word for both functions because neither of them were explicitly declared.

To force yourself to declare variables before using them in you programs use the expression Option Explicit in the declaration section. The following example illustrates this:

Option Explicit

Sub Main

'This won't work;
 'it must be declared by you
 Number = 5

End Sub