Solved

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

Posted on 2008-10-23
12
218 Views
Last Modified: 2012-05-05
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.
0
Comment
Question by:stewdaddy
  • 4
  • 4
  • 2
  • +2
12 Comments
 
LVL 5

Expert Comment

by:two_people_hk
ID: 22785760
You can set a Constants in Visual Basic.
For your reference:
http://www.go4expert.com/forums/showthread.php?t=3689
0
 
LVL 13

Expert Comment

by:SameerJagdale
ID: 22785762
try using shared keyword.

Shared strX As String = "X"
0
 
LVL 13

Expert Comment

by:TechTiger007
ID: 22785797
declare the variable as member variable in the class so that it is accessible from all functions
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:stewdaddy
ID: 22785810
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.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22785823
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)
0
 
LVL 13

Accepted Solution

by:
SameerJagdale earned 500 total points
ID: 22785893
put it in main.
0
 

Author Closing Comment

by:stewdaddy
ID: 31509185
Thanks.
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22785948
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

0
 

Author Comment

by:stewdaddy
ID: 22786044
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
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22786068

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.

 
0
 

Author Comment

by:stewdaddy
ID: 22786101
oh ok thanks
0
 
LVL 48

Expert Comment

by:jpaulino
ID: 22786121
Glad I could help
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question