第一章 变量的使用
不论是在 VBScript 的程序或任何其他的程序语言中,有一个最重要的也是最基本的概念叫做变量,因为写程序的目的在于,写出的程序在大部分的情况都可以执行出正确的结果。就如同一个卖篮球鞋的厂商出了一双又好看又耐穿的球鞋,但是这款球鞋只有唯一的一个尺寸,如此一来,就算鞋子再好,消费群也只是那一小部分人。程序也是一样的,好的程序就必须给程序使用者多一点弹性,程序才能发挥它最大的用处。想做到这一点,就必须使用变量来编写程序了。
那变量到底是用来做什么的呢?简单说,变量就是用来存储某些信息,有可能是存储一些计算结果、人的姓名、字符串输入的正确性等等。每当程序使用了一个变量,程序就会吧资料写到计算机的内存中,等程序需要它的时候就可以从内存中拿出来使用了,这就是变量最常被使用的方法。
本章重点介绍如何在 VBScript 中声明及应用变量。
一 变量的声明
既然变量很重要,那就先来看看要如何产生一个变量。变量的命名要遵守下列几个规则。
■ 开头必须是一个字母。
■ 要在 255 个字符之内,这一点不需要太担心,如果一个变量名字长达255个字符的话,相信没几个人能自己记得住。
■ 可以使用任何字符、数字及下划线,但是不可以使用空格。
■ 不可以使用 VBScript 会用到的运算符号,例如 + 、- 、* 、/ 等。
■ 不可以使用 VBScript 中使用到的保留字,例如 MID 、DIV 等。
由于 VBScript 是由 Microsoft 发展出来的语言,所以它的命名的规则还是遵照它一贯的设置,变量的名称是没有大小写之分的,例如:变量名 MyClass 和变量名 myclass 是一样的。
要在 VBScript 中声明一个变量,方法是利用 Dim 指令,在这个函数后面加上一个符合变量命名规则的名称,就等于建立了一个新的变量,例如:
Dim customers
在 VBScript 中,变量的产生分为两种,一种就是用 Dim 声明,另外一种就是直接给变量赋值,如此变量自然就存在了。不过有一点需要注意,VBScript 不允许在声明变量的同时给这个变量赋值,如下的声明是不被允许的。
Dim Total = 0
必须要把声明变量跟给变量赋值分开,如下
Dim Total
Total = 0
二 变量的数据类型
变量有多种数据类型,不同的数据类型有不同的用处,也有不同的使用方法。下面介绍最常用的 7 种数据类型。
※ 字符串
字符串就是有由引号(“ ”)括起来的一串字符组合成的,其中,可以包括任何英文字母、中文字、数字、符号等,所有可以在计算机上看到的字都可以是字符串的内容。理论上,字符串变量最多可以处理多达 20 亿的字符,如此一来,对绝大部分的人而言,可以不考虑这个限制,因为很少会有人用到这么长的字符串。
字符串声明实例:
FirstName = "zhao"
TelNumber = "13975150494"
Address = "湖南省长沙市芙蓉区曙光北路 ** 号 ** 楼"
※ 整数
整数变量的范围在 -32768 ~ 32768 之间,这也是在计算上最常用到的一种数据类型。
整数声明实例:
Age = 32
Degree = -5
AllowancePerDay = 200
※ 长整数
这个数据类型跟整数几乎可以划上等号,只不过这个数据类型的范围比较大,它的范围在 -2147483648~2147483647 之间
事实上,整数跟长整数所代表的意义并没有不同,计算的反复法也一样,只是由于整数在计算机中是用 2 个字节存储,而长整数则是用 4 个字节存储,这对计算机的内存存取的方式而言是有差别的,但是从使用者的角度来看,应该说是没有太大的区别,而且在 VBScript 的使用上,如果使用者使用的整数变量超出范围,编译器也会自动帮助使用者转换成长整数的数据类型以输出正确的数字,并不至于发生错误。例如:
Dim A
A = 30000
A = 60000
在程序执行到第二行的时候,变量 A 的数据类型是整数,而在执行到第三行的时候,60000 已经超出了整数的表示范围,变量 A 的数据类型就会自动变成长整数。
※ 单精度小数
这是有关小数的一种数据类型,用来存储程序中的小数。而精度是小数点后面的 7 位数,如果包含小数点前面的整数,最多可以有 40 位可以使用,一般在 VBScript 中用到的小数都属于这个数据类型。
单精度小数声明实例:
MathGrades = 88.5
PI = 3.1415926
DegreeofPole = -43.56
※ 双精度小数
这种数据类型跟单精度小数很类似,只不过可以使用的位数不一样。双精度小数的精确度可以达到小数点后面 15 位数,如果包含小数点前面的整数,可以使用 300 位的数字。基本上,在 VBScript 中,这种数据类型的使用可以说是少之又少,如果需要用到小数计算,单精度的小数就已经很够用了,通常不会需要这种精确度的小数。
※ 布尔型
这是一个比较特殊的数据类型,因为它的值就只有两种,一个是真(True),一个是假(False)。这个数据类型最常见的用途就是用来存储两个数据比较的结果,接下来就可以根据比较后的真(True)或假(False)来决定执行哪一段程序
布尔型声明实例:
TooMuch = False
Failure = True
※ 日期
这种数据类型可以让使用者存储时间和日期,它的范围是从公元 1100 年 1 月 1 日午夜 12 点~公元 9999 年 12 月 31 号的午夜 12 点。日期和时间必须在 “ # ” 字号之间。如果设定的数值布包含日期, VBScript 会自动折成 12 点,若要加入时间,可以使用 上午/ 下午(AM / PM)或 24 小时制的方式。
日期型声明实例:
HerBirth = #June 25,1977#
ThisMoment = #March 3,2000 10:01PM#
ThisMoment = #march 3,2000 22:01#
在写程序的过程中,常常会遇到一个情形就是比较两个数值,但是,布同的数据类型是不能够做比较的,因为哪是没有意义而且会在执行时发生运行时错误的。例如:拿字符串 "pen" 跟整数 500 来作比较,这种比较在 VBScript 中是布允许的。变量只要运用得当,不要让不同类型的变量作比较或者是让变量超出它原本设定的范围,就应该不会出什么问题了。
在按键精灵中使用变量需要注意以下几个方面(以后如果没有特殊说明,均以 《按键精灵6.0》 为例):
■定义变量(Dim)和给变量赋值的指令前需加上 VBS 标记。例如:
VBS Dim name
VBS name = "zhao"
■按键精灵中 VBSCall ReadMemory (读取内存地址)指令得到的数据是一个字符串数据,在进行比较、计算的时候,注意数据间的类型是否匹配。
|