按键精灵代码常见错误 作者:
兄弟工程师07 (按键学院实战班导师) 编辑:果果。。
还记不记得,那些天,急着交脚本的时候出bug了。通宵了三天三夜,调试出错。逻辑检查了一边又一边,万行代码反反复复翻来覆去推敲了无数遍。结果……
不要告诉我是中英文符号写错了,变量定义出错了,我保证不打死我自己……
|
在兄弟工程师07大大的帮助下,整理罗列了一些让各位脚本大大们气到吐血的按键精灵常见错误,希望大大们早日康复,重新燃起绳命的斗志
1:定义变量时直接赋值
[backcolor=rgb(247, 247, 247)]
报错提示:没有找到合法的符号
- //(错误代码0)没有找到合法的符号
- Dim a = 1
复制代码 [backcolor=rgb(247, 247, 247)]
正确代码:定义变量时不能直接赋值哦~
[backcolor=rgb(247, 247, 247)]
2:循环语句未设置循环次数
[backcolor=rgb(247, 247, 247)]
报错提示:没有找到合法的符号- //第0行:无法计算取值。错误附加码=775:0
- For '(错误码0)没有找到合法的符号。
- MessageBox a
- Next
复制代码 正确代码:循环语句,需要在for循环后面,加上循环次数哦~不然电脑那么笨……
3:语句书写不全[backcolor=rgb(247, 247, 247)]报错提示:无法计算取值。错误附加码=775:0
- //语句书写不全
- For i = 0 To 10 step
- Next
复制代码 正确代码:循环语句,在步径step后,需要指定具体的数值:如step 2 ,每次循环结束的时候变量+2;step 1,每次循环结束变量+1。- For i = 0 To 10 step 1
- Next
复制代码
4:未设置循环条件
[backcolor=rgb(247, 247, 247)]
报错提示:[backcolor=rgb(255, 255, 255)]无法计算取值。错误附加码=775:0
- //语法错误:脚本 11-12 ,第21行,第7个字符:(错误码0)没有找到合法的符号。
- //语义错误:脚本 11-12 ,第0行:无法计算取值。错误附加码=775:0
- While
-
- Wend
复制代码 正确代码:亲,没有定义变量,也没有设置while的循环条件哦(while后面加一个参数:循环条件)- Dim a
- a = 1
- While a = 1
-
- Wend
复制代码
5:变量名与子程序、子函数重名[backcolor=rgb(247, 247, 247)]
报错提示:名称有重复。错误附加码=3102:0
- //语义错误:脚本 11-12 ,第60行:名称有重复。错误附加码=3102:0
- Dim 找字
- Sub 找字()
-
- End Sub
复制代码 正确代码:定义的变量名称,不能与已有的子程序或者子函数重名哦~不然按键无法判断你想调用的是谁~
6:取数组元素下标超出范围
报错提示:下标越界: '[number: 11]'- //脚本 **.Q ,第**行:下标越界: '[number: 11]',
- Dim a(9)
- MessageBox a(11)
复制代码 正确代码:在按键精灵中,定义数组时dim a(9),意味着数组a的最大下限是a(9)。而在调用的时候,记得千万不能超过定义的数组下限哦·~~
7:错误类型作大小比较
[backcolor=rgb(247, 247, 247)]
报错提示:类型不匹配: 'A' - //脚本 11-12.Q ,第37行:类型不匹配: 'A',
- Dim a
- a = "a"
- If a > 1 Then
- MessageBox "a大于1"
- End If
复制代码 正确代码:“If a > 1”,左边是字符串,右边是数值,无法进行比较~若需要将其作比较可先将字符串转换成ANSI代码后比较- Dim a
- a = "a"
- //得到"a"的ANSI字符代码后作大小比较
- If Asc(a) > 1 Then
- MessageBox "a大于1"
- End If
复制代码
8:使用数组未先定义
[backcolor=rgb(247, 247, 247)]
报错提示:类型不匹配:
- //脚本 11-12.Q ,第52行:类型不匹配: 'MYARRAY',
- //脚本 11-12.Q ,第53行:类型不匹配: 'A',
- W1 = Clng(MyArray(0))
- w1=clng(a(1))
复制代码 正确代码:又是一个调用变量的时候,没有好好定义的忧桑错误:- Dim MyArray(5)
- Dim a(5)
- W1 = Clng(MyArray(0))
- w1=clng(a(1))
复制代码
9:延时命令不合理
- Delay 6000
- //上面语句可用下面的限定次数循环语句取代,可解决按停止键停不下来的情况。
- For 60
- Delay 100
- Next
复制代码 报错提示:根本停不下来啊啊啊……
10:子程序使用错误
[backcolor=rgb(247, 247, 247)]
[backcolor=rgb(255, 255, 255)]报错提示:无法计算取值。
- //脚本 常见脚本错误 ,第66行:无法计算取值。错误附加码=775:120
- TracePrint prints("ss")
- Sub prints(str1)
- prints = str1
- End Sub
复制代码 正确代码:sub子程序无返回值,若想输出返回值使用Function函数哦~- TracePrint prints("ss")
- Function prints(str1)
- prints = str1
- End Function
复制代码