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