Link to home
Start Free TrialLog in
Avatar of stewdaddy
stewdaddy

asked on

How do I declare a variable and assign the value once, and then reuse that variable in multiple procedures?

Ok, this one is really basic, but for some reason I can't figure it out or find the info on the net.  I want to declare a variable in one spot, say:
Dim strX as string = "X"
and then reference that variable in multiple procedures/functions without having to re-declare it.  The reason being I want to assign paths to the variables, and when the paths change I want to only have to update the variables in one location.
Avatar of two_people_hk
two_people_hk
Flag of Hong Kong image

You can set a Constants in Visual Basic.
For your reference:
http://www.go4expert.com/forums/showthread.php?t=3689
try using shared keyword.

Shared strX As String = "X"
Avatar of Toms Edison
declare the variable as member variable in the class so that it is accessible from all functions
Avatar of stewdaddy
stewdaddy

ASKER

Where do I declare the variable though? I thought you do it in the declarations section, but I keep getting a "Statement is not valid in a namespace." error.
You have several options:
- Declare in a module as Public
- Declare in a class as Public Shared
- Define on the settings (My Project - Settings Tab)
ASKER CERTIFIED SOLUTION
Avatar of SameerJagdale
SameerJagdale
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks.
Some examples:
' **** CLASS ****
Public Class Class1
    Public Shared myVar As String = "some text"
 
End Class
 
' Then in the form
MessageBox.Show(Class1.myVar)
 
 
' **** MODULE ****
 
Public Module Module1
    Public myNewVar As String = "some text"
 
End Module
 
 
' Then in the form
MessageBox.Show(myNewVar)

Open in new window

jpaulino...
If I go with the module approach, how do I use input from the form, such as:

Public Module Variables
    'Project Directory
    Public strProjectDirectory As String = "J:\" & txtProject.Text & "\"
End Module

VB doesn't let me use txtProject.text

Not that way. You have to declare the variable in the module:

Public strProjectDirectory As String

Then in any place (like in form load event) you can assign the value:

strProjectDirectory  = "J:\" & txtProject.Text & "\"
 
After this you can use it in any place.

 
oh ok thanks
Glad I could help