admin 管理员组文章数量: 887021
2023年12月18日发(作者:微博shellyofficial是谁)
__________________________________________________
变量读写: Write和Read方法的语法:
读 :
1 Dim objTag Set objTag=("变量名")
2 ("变量名").Read
写:
1 Dim objTag Set objTag=("变量名")
1 '向变量写入数值1
2 ("变量名").Write 1
中间变量的值写入 :Dim objTag,val
Set objTag=("变量名")
val= '中间变量val存放了变量的值
VBS
语言使用方法
__________________________________________________
__________________________________________________
概述:
VBScript的全称是:Microsoft Visual Basic Script
Editon.(微软公司可视化BASIC脚本版).
正如其字面所透露的信息, VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言.
我进一步解释一下, Microsoft Visual Basic是微软公司出品的一套可视化编程工具, 语基于Basic. 脚本语言, 就是不编译成二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序不需要编译成.exe, 而是直接给用户发送.vbs的源程序, 用户就能执行了.
一、入门
: 1) 注释(以REM或'开头)行在程序中不起作用, 但能让别人更容易读懂你的程序
. 2) 变量好像一个盒子, 或一个代号, 可以代表你想代表的东西. 变量赋值使用
"="
3)
以""包裹起来的字符称之为"字符串"
函数像一个"黑箱", 有参数和返回值, 用"="左边__________________________________________________
4)
__________________________________________________
的变量可以接住返回值
5)
Inputbox函数弹出一个输入对话框,Msgbox则用于输出
例:
REM 输入并回显你的名字
'使用InputBox和Msgbox函数
Dim name,msg
msg="请输入你的名字:"
name=Inputbox(msg,"名称")
Msgbox(name)
上例中,Dim用来声明一个变量, 在VBS中, 变量类型并不是那么重要, 就是说VBS中你不用考虑name储存的是一个整数还是一个小数(学名叫"浮点数"),
也不用考虑是不是字符串(一串字符, 比如:"Hello
World"), VBS会自动帮你搞定. 所以第三行语句可以删除, 效果不会变.
常量:
格式是:const 常量名=常量值.
__________________________________________________
__________________________________________________
例如
: const PI=3.1415926 const NAME="记忆碎片"
二、进阶
数据类型转换:
1)
Dim a,b,c
a=inputbox("a是:","输入半径")
b=Inputbox("b是:","输入半径")
c=a*2+b*2
Msgbox(c)
这个输入1、2时是6
2)
Dim a,b,c
a=inputbox("a是:","输入半径")
b=Inputbox("b是:","输入半径")
c=(a+b)*2
Msgbox(c)
这个输入1、2时是24
__________________________________________________
__________________________________________________
为什么会不一样呢? 在数学上c=(a+b)*2 和
c=a*2+b*2是等价的, 在VBS中也是如此. 问题出在"+"上, 在VBS中, +不仅仅是加号的意思还表示把两个字符串连接起来,
have
例如you "Hello"+"World"="HelloWorld"
understood? 你还记得InoutBox函数的返回值吗?
是字符串! 这就看出问题了吧, 在编程中"1"不等于(<>)1, "1"是一个字符, 而1是一个数, 所以a,b都是字符串变量, "1"+"2"="12", 这就好像我们小时跟伙伴开玩笑问他们1+1=?一样, 我们总是笑着说"错啦,应该是11".但为什么, a可以*2却不发生错误呢?
这时
VBS比较智能的一个表现, 如果这个字符串的内容是一个数且对他进行数学运算, 则把字符串强制转换成数参与运算如果字符串代表一个数, 但不参加数学运算, 而是参加字符串运算(合并)则当作字符串处理, 所以你看到a+b=12, 这时候a+b的结果是一个字符串, 当它要乘以2的时候就被强制转换成了数字12, 这样我就得到了结果24
怎么修改这个程序呢? 我们需要用到另一个内建的函数:int, int函数的功能是将输入值转成整数值,
__________________________________________________
__________________________________________________
我们这样修改: c=(int(a)+int(b))*2
四、循环结构
t
dim i,j
for i=1 to 9
for i=1 to 9
str=str & i * j & " " '&是和并字符串的符号
next '每个next对应一个for
next
1)do..loop和exit do的用法
2) while当表达式true的时候执行循环体,until反之
3) 是计数循环, 每次执行计数器递加
4) 嵌套循环的作用和写法 4.5) &用于连接字符串
5) vbCrLf相当于键盘上的回车键
五、数组
定义:
__________________________________________________
__________________________________________________
dim 数组名(元素数量), 这里大家要注意一点, 这里定义的元素数量总是比你要的要少一个, 因为一个数组的起点是0号数据而不是1, 所以大家一定要小心: 你需要10个数据, 就定义"9"。
六、函数
结构:
funciton 函数名(参数1, 参数2...参数n) '列表可以是空的, 但括号不能省略, 参数之间用","分割
...
exit funciton '结束函数, 不是必需的
...
end function
有时候我们并不需要返回什么值, 这个时候我们可以使用一种称之为"子程序"的结构. 子程序或称之为过程与函数的差别
就在于:1) 没有返回值, 2) 使用sub关键字定义, 3)
通过Call调用.具个例子:
dim yname
__________________________________________________
__________________________________________________
name=inputbox("请输入你的名字:")
call who(yname)
sub
who(cname)
msgbox("你好" & cname)
msgbox("感谢你阅读我的课程")
msgbox("这是基础部分的最后一课")
end sub
按钮翻转程序
Sub OnClick(Byval Item)
Dim tag1
Set tag1=("Q02")
If =1
Then 0
Else
1
__________________________________________________
__________________________________________________
按按钮增数程序:
Dim tag1
Set tag1=("旋转1")
= + 1
End If
End Sub
按下按钮一个脉冲触发:
Dim mytime,bs
Set bs=("b")
(1)
mytime = Timer+2
Do Until Timer=mytime
Loop
(0)
循环程序
__________________________________________________
__________________________________________________
While t = 1
Dim mytime,bs
Set bs=("b旋转")
(1)
mytimE = Timer +2
DO until TimEr=mytime
loop
(0)
Wend
__________________________________________________
版权声明:本文标题:Wincc的VBS脚本使用知识讲解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702897437h435106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论