Re: Does VBscript support " & _" for long strings?



Al Dunbar [MS-MVP] wrote:
My vote would be, no, it doesn't. If it did, then one would expect this to
be legal:

const AB = "A" & "B"

but it's not.

/Al


works just fine in /real/ VB.


Bob
MS MVP for VB, 2000-2006



"Bob Barrows [MVP]" <reb01501@xxxxxxxxxxxxxxx> wrote in message
news:OubNJGmOHHA.4244@xxxxxxxxxxxxxxxxxxxxxxx
Array manipulation is almost always more efficient than string
concatenation in vb/vbscript. Bear in mind that strings are not arrays
of characters: they are immutable objects in vbscript. That means that
each concatenation involves the creation of a new string along with the
destruction of the two addends. I.E., memory allocation and deallocation
occurs for each concatenation: not an inexpensive operation.

However, there is a little controversy about whether
s = "a" & "b"
compiles to
s="ab"
relieving the runtime engine of the concatenation task. I have read that
the compilers in some languages are smart enough to do this. I'm not
really sure if the vbs compiler is. Maybe Michael Harris will weigh in
...

Ed wrote:
I'm not sure if that would be efficient in this case, Bob. I'm not
picking up the items one at a time - the list exists only in the
code. I'd have 40+ lines to set each item into an array position,
and _then_ Join them all into one string? Then I pick up my
text-to-look-for and use InStr to see if it's in the list. Then
again, I am the beginner here (which also means I don't always ask
questions right!), so if there's a better way to accomplish this
comparison, I'm all for it!

Ed

"Bob Barrows [MVP]" <reb01501@xxxxxxxxxxxxxxx> wrote in message
news:enE$xUlOHHA.140@xxxxxxxxxxxxxxxxxxxxxxx
In that case, you might want to consider assigning the items to an
array, using Join to combine them into the string.

Ed wrote:
Good thought, but in this case I just have one _really, really_ long
string of items to Set right at the beginning of the code. Then as
I pick up text into another string, I do an InStr to see if my text
is in the collection.

Ed

"mayayana" <mayaXXyana1a@xxxxxxxxxxxxxxxx> wrote in message
news:DRrrh.15588$X72.303@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Another thought:

This is just a matter of taste, but personally
I think it's cleaner, safer and easier to read
if it's done as a multiple concatenation:

s = "abc" & vbcrlf
s = s & "def" & vbcrlf
s = s & "ghi"
etc...

Ah! Thank you - my Copy and Paste may have done me in, then. I
will look
for that.
Ed

"Alexander Mueller" <millerax@xxxxxxxxxxx> wrote in message
news:u2Ric8jOHHA.2312@xxxxxxxxxxxxxxxxxxxxxxx
Ed schrieb:
"Michael Harris (MVP)" <mikhar.at.mvps.dot.org> wrote in message
news:%23ssqL4cOHHA.140@xxxxxxxxxxxxxxxxxxxxxxx
Ed wrote:
I know in Word and Excel VBA macros, I can set a long string
using & vbCrLf & _
to continue the string on the next line. I seem to be getting
an error in a script using this. Then again, it may well be
something else. So I thought I'd check on this while I look
over everything else just to make sure this is okay in
scripting.

Thanks.
Ed
Yes - _ as a line continuation character is supported in
VBScript.

Thanks, Michael. At least now I know to look elsewhere for my
problems.. 8>0
Not that a trailing ' _' is legal in vb(a) but not in vbs.

msgbox "hello" _


MfG,
Alex
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get
a quicker response by posting to the newsgroup.
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.




.



Relevant Pages

  • Re: Remove zero from first letter
    ... Bob Barrows [MVP] wrote: ... loop part, i mean there is debug in loop code, the loop is not ... Function StripLeadingChars(byval original as string, ... Please reply to the newsgroup. ...
    (microsoft.public.access.queries)
  • Re: Does VBscript support " & _" for long strings?
    ... each concatenation involves the creation of a new string along with the ... Please reply to the newsgroup. ...
    (microsoft.public.scripting.vbscript)
  • Re: Does VBscript support " & _" for long strings?
    ... each concatenation involves the creation of a new string along with the ... Please reply to the newsgroup. ...
    (microsoft.public.scripting.vbscript)
  • Re: Does VBscript support " & _" for long strings?
    ... arrays of characters: they are immutable objects in vbscript. ... means that each concatenation involves the creation of a new string ... iteratively appending values to a string. ... Please reply to the newsgroup. ...
    (microsoft.public.scripting.vbscript)
  • Re: Does VBscript support " & _" for long strings?
    ... Array manipulation is almost always more efficient than string ... each concatenation involves the creation of a new string along with the ... Please reply to the newsgroup. ...
    (microsoft.public.scripting.vbscript)

Loading