数据类型
空值Null
整数Integer(&H1A 表示16进制 &H开头)
浮点数Number(7.8E3 表示7800)
字符串String
逻辑Boolean
数组Array([1,'s',true]) Ubound获取最大下标 len获取长度
字典Dictionary({"key":0,"k2":"str"} 键必须是字符串的)
转义符
\n 换行,将当前位置移动到下一行开头
\r 回车,将当前位置移动到本行开头
\t 水平制表
\v 垂直制表
\\ 代表一个反斜线
\' 代表一个单引号
\" 代表一个双引号
\0 空字符(NULL)
\DDD 三位八进制
\xHH 二位十六进制
运算符
数学运算符 +-*/^(求幂)mod(求余)
逻辑运算符 > < >= <= = <> and or not
其他运算符 &(字符串拼接) iif(三目运算符)
iff(条件,为true时返回,为false时返回)
标识符:不区分大小写
常用命令
输出调试信息TracePrint
延时Delay
变量赋值
判断变量类型Type
消息通知Dialog.Notify[一般需要配合延时 无需用户反馈]
消息框Dialog.MsgBox[需要用户反馈]
输入对话框Dialog.InputBox
启动应用程序App.run
关闭应用App.kill
打开文件或网址App.Start[文件或网址]
设置日志级别Log.SetLevel[2全输出 1过滤普通 0过滤普通+警告]
数据处理命令
转为逻辑字符CBool[0或null 为false]
复制数据Clone[不常用 复制数组、字典 深拷贝]
是否为数值IsNumberic[是否可以转换为数字]
是否为数组isarray()
是否为字典isdictionary()
取随机数Rnd[0,1)
条件分支
If 1+1=2
Else
End If
计次循环
For i = 0 To 10 step 1
TracePrint(i) //[0,10] 11个数
Next
条件循环
Do While true
TracePrint()
Loop
遍历循环
//字典取出的数据是无顺序的
For Each key, value In dictVar
TracePrint(key,"---",value)
Next
继续循环Continue
跳出循环Break
异常捕获
try
catch
end try
退出流程exit()
跳出返回return value
变量与数据类型
标识符:不区分大小写
注释:// /*...*/
const 手机号 = "152" //常数
dim 姓名="柯楠"
TracePrint(姓名)//多个变量可以逗号分隔
输出引号
dim 姓名='''
""
'''
TracePrint("\"abc\"")
TracePrint(Chr(34))
function add(x,y=1000) #函数可以传递默认值
return x+y
end function
traceprint(add(100,200))
判断表达式
//除了null和false是表示不成立外,其他都表示成立
If 1+1=2
TracePrint("1")
ElseIf 1+1 <> 2
TracePrint("2")
else
TracePrint("3")
End If
dim x = 100 and 10 //10 左边成立返回右边 左边不成立返回左边
dim y = 2>1 or 10 //true 左边成立返回左边 左边不成立返回右边
select case x //源代码模式 不同于其他的switch 这个类似if else
case 100
TracePrint("100") //满足条件就执行,然后退出语句
case 200,300
TracePrint("200或者300")
case else
TracePrint("都不是")
end select
Do循环详解
dim i=0
Do
TracePrint(Time.Second())
Delay(1000)
i = i+1
If i = 10
Break
End If
Loop
do while ... loop
do ... loop while
do until ... loop
do .... loop until
For循环详解
//for循环中的循环变量不用定义,要注意作用域
For i=0 To 10 step 1
//不建议在内部修改i变量的值,虽然不影响循环次数
TracePrint(i)
Next
dim arr = [1,3,3,5,9]
For Each key,value In arr //字典取出的数据是无顺序的
TracePrint(key,'----',value)
Next
运行系统命令
sRet = Sys.Command("dir D:\\ /b")
arrRet = Split(sRet,"\n")