user2187023
user2187023

Reputation: 1

How does one dynamically declare variables during program execution?

I am using VS 2012.

I can't figure out how to dynamically declare variables while my code is running. I am trying to write a program that pulls data for EMS dispatches off a website. The website updates every several second, and each call that is posted has a unique ID number. I want to use the unique ID number from each dispatch, and declare a new incident variable using that unique id number and add it to a collection of active dispatches. The only part I cant figure out, is how do I declare a variable for each dispatch as it is posted, and name it with its unique ID number?

something like:

Structure Incident
  Dim id As Integer

  Dim numer As String
  Dim date1 As String
  Dim time As String
  Dim box As String
  Dim type As String
  Dim street As String
  Dim crosstreet As String
  Dim location As String
  Dim announced As Boolean
  Dim complete As Boolean
End Structure

UniqueIDstringfromwebsite = "1234"

Dim (code to get variable declared with unique ID as variable name) as incident

This is my first post, and I cant quite get the codesample to work quite right in the post.

Upvotes: 0

Views: 877

Answers (2)

SysDragon
SysDragon

Reputation: 9888

You can use a Dictionary to identify your var:

Dim myVar As New Dictionary(Of Integer, Incident)

UniqueIDstringfromwebsite = 1234
myVar.Add(UniqueIDstringfromwebsite, New Incident)

I don't think you can change the name of a variable with a value dinamically, and sincerily, and don't get when it can be useful.

And, in this way, better turn your structure into a class.

Upvotes: 1

Shieldstromme
Shieldstromme

Reputation: 43

This is my first answer - so you are in good company!

Do you not need to implement a class instead of a structure - that way you can implement a constructor. I don't think you want to create a variable with the ID as it's name, but you should add the ID to the dispatches collection (this is could be a list(of Incident):

e.g.

Public Class Incident

     'define private variables

     Private _id as integer
     Private _number as string
     Private _date1 as String
     Private _time as String
     'etc...

     'define public properties

    Public Property Number as string
        Get 
            Return _number
        End Get
        Set (value as string)
            _number = value
        End Set
    End Property

    'Repeat for each Public Property

    'Implement Constuctor that takes ID
    Public Sub New(id as integer)
        _id = id
        'code here to get incident properties based on id
    End Sub

End Class

Hope this helps!

Upvotes: 1

Related Questions