Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 217
  • Last Modified:

Declare variable from a string

In a function, i receive a string. In this function, i need to declare a variable who will get the name of what this string contain. For example, if i receive a string who contain "testing", i will have to declare a variable who will be named testing like if i done dim testing. How can i do that, it's so easy in asp or php.

Thankx
0
mammouth
Asked:
mammouth
1 Solution
 
RodStephensCommented:
You cannot really do that in VB using one of the "simple" data types like String. However, you can create a variable of a more complicated data type.

For example, you can use New to create a new instance of an object. You could make a class called DynamicVariable and give it Name and Value properties. Then when you need to make a new "testing" variable, you can do something like this:

    Dim new_variable As DynamicVariable

    Set new_variable = New DynamicVariable
    new_variable.Name = "testing"
    new_variable.Value = "whatever"

Store the variables in a Collection so you can get them and their values later.
0
 
Éric MoreauSenior .Net ConsultantCommented:
This can't be done. If you think about it, VB is compiled and variables needs to be declared before the compilation occurs.

If you tell us what is your need, maybe we will be able to suggest you a workaround.
0
 
mammouthAuthor Commented:
Here is an example of my code

I have 5 checkbox chk0, chk1, chk2, chk3, chk4 each one is an array of a different size. ex.

chk0(5)
chk1(12)
chk2(7)
chk3(3)
chk4(22)

These checkbox are on cell of different grid on sstab.

For now i have this code

select case sstab.tab
    case 0:
        for i=0 to ubound(chk0)
             chk0(i).value=1
        next
    case1:
        for i=0 to ubound(chk1)
             chk1(i).value=1
        next
end select

i want to be able to put this with something like that

myvar="chk" & sstab.tab
for i=0 to ubound(myvar)
   myvar(i).value=1
next

It is possible, When i try the answer from RodStephens, i get an error.

thankx
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
try this:

myvar="chk" & sstab.tab
for i=0 to ubound(controls(myvar))
  controls(myvar)(i).value=1
next

CHeers
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now