What is difference between Command$ and Command in VB 6?
MsgBox Command$
MsgBox Command
What is difference between Command$ and Command in VB 6?
MsgBox Command$
MsgBox Command
Any time you see a $
after a function in VB 6, it means that the function is a String
version, meaning it returns a value of type String
. The version without the dollar sign is a Variant
function, which of course means it returns a value of type Variant
.
In general, you should always prefer the String
versions over the Variant
versions.
The dollar sign also means the same thing if it appears after a variable name in lieu of a specified type. Here, it's part of a larger family of shorthand "type declaration characters" that were necessary in earlier versions of BASIC, but firmly antiquated by the time even VB 6 arrived on the scene. For example:
Dim name$
indicates a variable named name
that is of type String
. The alternative (and preferred!) notation is:
Dim name As String
In case you're dealing with legacy code where these appear, here's the entire list for completeness:
& Long
% Integer
# Double
! Single
@ Decimal
$ String
They both return the same string but Command returns the string in a Variant.
There are actually quite a few VB functions that do this. The $ at the end indicates the function returns a string while the counterparts return variants.