来源:按键学院 【按键精灵】 还记不记得,那些天,急着交脚本的时候出bug了。通宵了三天三夜,调试出错。逻辑检查了一边又一边,万行代码反反复复翻来覆去推敲了无数遍。结果…… 不要告诉我是中英文符号写错了,变量定义出错了,我保证不打死我自己…… 1:定义变量时直接赋值 报错提示:没有找到合法的符号 //(错误代码0)没有找到合法的符号 Dim a = 1 正确代码:定义变量时不能直接赋值哦~ Dim a a = 1
2:循环语句未设置循环次数 报错提示:没有找到合法的符号 //第0行:无法计算取值。错误附加码=775:0 For '(错误码0)没有找到合法的符号。 MessageBox a Next 正确代码:循环语句,需要在for循环后面,加上循环次数哦~不然电脑那么笨…… For 5 MessageBox a Next
3:语句书写不全 报错提示:无法计算取值。错误附加码=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:未设置循环条件 报错提示:无法计算取值。错误附加码=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:变量名与子程序、子函数重名 报错提示:名称有重复。错误附加码=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:错误类型作大小比较 报错提示:类型不匹配: '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:使用数组未先定义 报错提示:类型不匹配: //脚本 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:子程序使用错误 报错提示:无法计算取值。 //脚本 常见脚本错误 ,第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
|
|