Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > Creating a variable name as the value of another variable.

Reply
Thread Tools

Creating a variable name as the value of another variable.

 
 
rdstevenson@hotmail.co.uk
Guest
Posts: n/a
 
      10-11-2007
Hi,

Something I've never come across before and has given me a headache.
I have a txt file with content similar to below I want to read in each
line do a split on the = and then create a variable with the name of
the first value and the value of the second. I'm fine with the
splitting etc but I haven't got a clue of how to set the variable name
to the value on another variable?

any ideas anyone?



Variable1=Value1
Variable2=Value2
etc etc

 
Reply With Quote
 
 
 
 
Bob Barrows [MVP]
Guest
Posts: n/a
 
      10-11-2007
http://www.velocityreviews.com/forums/(E-Mail Removed) wrote:
> Hi,
>
> Something I've never come across before and has given me a headache.
> I have a txt file with content similar to below I want to read in each
> line do a split on the = and then create a variable with the name of
> the first value and the value of the second. I'm fine with the
> splitting etc but I haven't got a clue of how to set the variable name
> to the value on another variable?
>
> any ideas anyone?
>
>
>
> Variable1=Value1
> Variable2=Value2
> etc etc


Why do you need dynamic variable names? If you could explain the necessity,
perhaps we could suggest an alternative, such as a Dictionary object.

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"


 
Reply With Quote
 
 
 
 
jp2code
Guest
Posts: n/a
 
      10-11-2007
Your variables have to be declared before you can execute your code. How
would you be able to create a variable named, for example, Variable1 until
the program is executed and you actually encounter it.

You could create an array of 2 element arrays! The first element could
contain the name of Variable1, and the second element could contain the
value.

If this doesn't help, you might want to expand on your question.

Regards,
"Bondo" Joe

<(E-Mail Removed)> wrote:
> Hi,
>
> Something I've never come across before and has given me a headache.
> I have a txt file with content similar to below I want to read in each
> line do a split on the = and then create a variable with the name of
> the first value and the value of the second. I'm fine with the
> splitting etc but I haven't got a clue of how to set the variable name
> to the value on another variable?
>
> any ideas anyone?
>
>
>
> Variable1=Value1
> Variable2=Value2
> etc etc
>



 
Reply With Quote
 
Mark J. McGinty
Guest
Posts: n/a
 
      10-12-2007

"jp2code" <poojo.com/mail> wrote in message
news:(E-Mail Removed)...
> Your variables have to be declared before you can execute your code. How
> would you be able to create a variable named, for example, Variable1 until
> the program is executed and you actually encounter it.


Actually, the VBS Execute statement allows you to execute script code,
passed to it in a variable. It is possible to dynamically construct
variable declarations, assignments, functions, etc, and then run the
generated code in the same context as the static part of the script.

That part is easy; coming up with a valid and compelling reason to use this
is the challenge. In the case of dynamically declared variables, what good
are they, unless they're referenced elsewhere in the code (and if that was
the case, they really wouldn't be all that dynamic, would they?

As for the OP, if the .txt file contains legal VBS assignments, why split,
why not just execute the whole file? Otoh, allowing unknown script to be
executed on your server is pretty low on the list of safe and sane things
for your site to facilitate.

In almost all cases there are better design options to be had by using
arrays or a dictionary... in fact, the overwhelming majority of reasons
people think they want to write self-modifying code are really, really lame.
So to the OP, consider all options first; use Execute as a last resort.


-Mark


> You could create an array of 2 element arrays! The first element could
> contain the name of Variable1, and the second element could contain the
> value.
>
> If this doesn't help, you might want to expand on your question.
>
> Regards,
> "Bondo" Joe
>
> <(E-Mail Removed)> wrote:
>> Hi,
>>
>> Something I've never come across before and has given me a headache.
>> I have a txt file with content similar to below I want to read in each
>> line do a split on the = and then create a variable with the name of
>> the first value and the value of the second. I'm fine with the
>> splitting etc but I haven't got a clue of how to set the variable name
>> to the value on another variable?
>>
>> any ideas anyone?
>>
>>
>>
>> Variable1=Value1
>> Variable2=Value2
>> etc etc
>>

>
>



 
Reply With Quote
 
Bob Barrows [MVP]
Guest
Posts: n/a
 
      10-12-2007
Mark J. McGinty wrote:

> In almost all cases there are better design options to be had by using
> arrays or a dictionary... in fact, the overwhelming majority of
> reasons people think they want to write self-modifying code are
> really, really lame. So to the OP, consider all options first; use
> Execute as a last resort.

..
.... and [also to the OP] the reason why Execute should be avoided? Because
every use of Execute in your code causes a new instance of the vbscript
compiler to be spawned, impairing performance and utilizing extra server
resources.

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"


 
Reply With Quote
 
Mark J. McGinty
Guest
Posts: n/a
 
      10-13-2007

"Bob Barrows [MVP]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Mark J. McGinty wrote:
>
>> In almost all cases there are better design options to be had by using
>> arrays or a dictionary... in fact, the overwhelming majority of
>> reasons people think they want to write self-modifying code are
>> really, really lame. So to the OP, consider all options first; use
>> Execute as a last resort.

> .
> ... and [also to the OP] the reason why Execute should be avoided? Because
> every use of Execute in your code causes a new instance of the vbscript
> compiler to be spawned, impairing performance and utilizing extra server
> resources.


....spawns a new instance of the vbscript compiler? Ooook... sounds
serious... I wonder if it spawns the vbscript linker too?

I don't suppose you have a link about this? I'd like to read more, but
can't seem to find anything on google.


-Mark


> --
> Microsoft MVP - ASP/ASP.NET
> Please reply to the newsgroup. This email account is my spam trap so I
> don't check it very often. If you must reply off-line, then remove the
> "NO SPAM"
>



 
Reply With Quote
 
Bob Barrows [MVP]
Guest
Posts: n/a
 
      10-13-2007
Mark J. McGinty wrote:
> "Bob Barrows [MVP]" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
>> Mark J. McGinty wrote:
>>
>>> In almost all cases there are better design options to be had by
>>> using arrays or a dictionary... in fact, the overwhelming majority
>>> of reasons people think they want to write self-modifying code are
>>> really, really lame. So to the OP, consider all options first; use
>>> Execute as a last resort.

>> .
>> ... and [also to the OP] the reason why Execute should be avoided?
>> Because every use of Execute in your code causes a new instance of
>> the vbscript compiler to be spawned, impairing performance and
>> utilizing extra server resources.

>
> ...spawns a new instance of the vbscript compiler? Ooook... sounds
> serious... I wonder if it spawns the vbscript linker too?
>
> I don't suppose you have a link about this? I'd like to read more,
> but can't seem to find anything on google.
>
>

Google for Eric Lippert's "famous" "Eval is Evil" blog entry (Fabulous
Adventures in Coding)

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
"Variable variable name" or "variable lvalue" mfglinux Python 11 09-12-2007 03:08 AM
adding a variable name to a hash to name is part of the variable name Bobby Chamness Perl 2 04-22-2007 09:54 PM
Use a variable value in another variable's name Robin Corcoran Perl Misc 20 07-26-2004 12:06 PM
How do I scope a variable if the variable name contains a variable? David Filmer Perl Misc 19 05-21-2004 03:55 PM
create a variable name with the value of another variable Brian C++ 3 04-19-2004 04:35 PM



Advertisments