变量可以作为 VBS 中的 space 吗?

Can a variable act as a space in VBS?

我正在自学 VBS,我决定编写一个消息加密程序。它在循环中使用左右函数来读取每个单独的字符。

DO 
wscript.sleep 100
if Az=0 then
EXIT DO
end if
CR=right(message,aZ)
DEL=left(CR,1)
aZ=aZ-1
zZ=zZ+1
supra=""
supra="supra"
CALL KEYCOUNT
CD=left(keyword,zZ)
TAC=right(CD,1)
....

从那里,它根据加密关键字将每个字符设置为一个不同的字母,然后移动到下一个字符。我的问题是我不知道如何处理消息中的空格。有没有办法使变量具有空格的值?我试过:

set var=space(1)
set var="&"" ""&"
set var=""
set var=" "
set var=""" """

我确定有些事情我没有想到

谢谢

约瑟夫

问题是您在将 simple/non-object 值分配给变量时使用 Set(参见 here)。如果你松开它,你的实验语句将 'work' (编译 & 运行 没有错误)。查看输出,您会看到

var = " "

是将(包含一个的字符串)space 分配给变量的正确且最有效的方法。

set 语句将对象引用分配给变量或 属性,或将过程引用与事件相关联。那不是我们的情况。

var=space(1)  ' var contains one space character
var="&"" ""&" ' var contains &" "&
var=""        ' var contains a string of zero length
var=" "       ' var contains one space character
var=""" """   ' var contains " "

或者,如果您愿意,可以声明一个常量来代替 space 的文字值(在您的脚本中的任何位置),如下所示:

Const vbSp=" "

常量默认为 public。在过程中,常量总是私有的;他们的可见性无法更改。在脚本中,可以使用 Private 关键字更改脚本级常量的默认可见性。有变化:

Private Const vbSp=" "
Public  Const vbSp=" "