风吹不眨眼吧 关注:186贴子:601
  • 0回复贴,共1

按键精灵 教你 0 基础学写脚本 ———— 数据类型02

只看楼主收藏回复

其实,第一期已经跨越了。也就是说,本来第一期应该放在后面的。但是,为了直观的让新手朋友知道自己缺乏的知识,我把它作为了第一期。第二期,我们来介绍数据类型。实际来说,按键的数据类型不严谨。比如我们定义一个变量直接是:
Dim x
这样就已经定义了 x 这个变量了。数组变量如下:
Dim x(2)
这儿我们定义了数组名称是x,数组最大下标是2的一个数组变量。其中的元素包括:x(0), x(1), x(2)这三个。所以,实际上,我们直接定义了一组一共3个变量的数组。这样定义的好处,后面做循环体的时候用得上。到时候再细说。这儿的0,1,2叫做下标。2是最大下标。但是,如果是VB,那么定义变量,就需要定义其数据类型。比如,定义字符串类型的变量。应该是这样:Dim x as String上面只是说明,按键为了让新手更加快速掌握按键,所有把数据类型这个东西忽略了。在定义变量的时候,的确少了很多功夫。但是这儿也会引来了很多问题。非常多的新手朋友忽略了数据类型这个概念,经常出错。比如如下代码:
Dim i,x(2)
i = "a" //我们把 i = "a" 这类以 “=” 号连接的语句叫做赋值语句。通俗些就是在i代表的存储单元里面装”a”。我们这儿先暂时这么理解,后文我会高手大家,什么叫存储单元。
TracePrint x(i)
我们定义了两个变量,其中x是数组变量,数组最大下标为2。然后我们给i赋值”a”,因为上面并没有定义i是什么类型的变量,所以这个赋值语句没毛病。但是,如果我们让i作为数组x的下标之后,就出现问题了。大家复制这段代码去运行,就能发现,提示 脚本 我的脚本1.Q ,第3行:类型不匹配: 'I', 类型不匹配。如果我们把 i赋值“0”呢?
<p style="line-height: 30px; text-indent: 2em;"></p><div style="text-align: left;"><span style="text-indent: 30pt; line-height: 1.5;">Dim i, x(2)</span></div>i = "a"
x(0)=1
TracePrint x(i)
i = "0"
TracePrint x(i)
调试信息如下:脚本 我的脚本1.Q ,第4行:类型不匹配: 'I',
脚本 我的脚本1.Q ,第6行:1也就是说,我们的第二句调试语句 TracePrint x(i) 没什么问题。为什么呢?因为当 “0” 赋值给i之后,因为”0”是数字的字符,按键默认的把这个字符转换成了数值。实际上i=”0”在这儿等价于i=0了。说这些,只是提醒大家数据类型的重要性。调试的时候,很容易因为i的值类型问题,无法通过调试。一般的,按键类型有几个。1、 数值型(Integer、Double)。2、字符型(字符串型)(String)。3、布尔型(Boolean)。4、数组(Variant()等等)。想知道你现在的变量是什么数据类型很简单。用 typename 函数就行了。
Dim i,x(2)
i = "1" //赋值为字符串
TracePrint typename(i)
i = 1 //赋值为整数
TracePrint typename(i)
i = 1.2 //赋值为双精度数
TracePrint typename(i)
TracePrint typename(1=1) //直接调试等式,等式会直接返回布尔型值
TracePrint typename(x) //这儿是调试数组,x是前面定义的数组x(2)
数值型,就是数字,包括整数型(Integer)、双精度型(Double)。字符型,字符型与字符串型。貌似都一样,因为基本没有什么函数限制这个只能字符还是字符串的。比如 “a”,“a123”等等,都是字符串型。布尔型,布尔型的值只有两个:false(假)和true(真)。且false的序号为0,true的序号是-1。
TracePrint 1=1 //意思是 调试输出 1=1 的值。 1=1 这是个等式,不是赋值语句,作为函数参数出现的 = 号都表达等号的意思。这儿是判断1是否等于1。
MsgBox 1 = 1 //因为调试输出返回的值与弹出框不一样。大家调试下,其实就是上面那两种结果。调试是-1,弹出是true。代表的意思都是 真。
TracePrint 1=2
MsgBox 1 = 2
数组:定义方式前面已经说过了。定义x(2),那么X(0), X(1), X(2)都可以赋值,然后调用。比如:
Dim x(2)
X(0)=1
X(1)=2
X(2)= X(0)+ X(1)
TracePrint X(2)
也就是相当于直接定义3个变量。当然,这个下标可以是变量:X(i)这样。xiaoyemu,如果您要查看本帖隐藏内容请回复大家调试下。调试结果如下:脚本 我的脚本1.Q ,第1行:溢出:'CBYTE',
脚本 我的脚本1.Q ,第2行:254
脚本 我的脚本1.Q ,第3行:溢出:'CBYTE',这是因为 Cbyte 函数 强制把以上数据转换成字节型(byte型)。而byte型数据范围是0-255。-1和256都溢出(溢出就是数据超出了范围)。还有其他各种函数,我就不一一列举了。我的命令库 — 标准VB命令 — 函数 — 类型转换函数 里面就可以看到。点击在调试栏就有说明。


IP属地:黑龙江1楼2014-03-16 15:57回复