有好长一段时间没有看关于VBS和QTP的东西了,虽然五一前买了一本关于QTP的书,但只看了其中的一小部分。事实证明,我确实是一个非常懒惰的人。要想办法克服惰性。这一篇日志也是昨天就该发布的,因为这样那样的原因也拖到了今天。看了VBS脚本编程简明教程,这文档看了很久。俗话说:“三天不念口声,三天不写手写”,我是觉得三天不学习是脑袋生。。总结如下:
Q1:在使用VBS的过程中,若语句一行写不完,使用什么方式进行换行?
A1:在使用VBS的过程中,若语句一行写不完,分两种情况:其中一种情况是前后两行是字符串的情况;另外一种情况是前后两行不是字符串的形式。针对这两种情况,相关介绍和示例如下:
1)在前一行末加一个空格后再输入下划线“_"。
Dim a,b,c
d
在VBS中,d会当成一名独立的语句来运行,在运行过程中将会报错,我们可以做如下修改:
Dim a,b,c_
d
这样修改后,VBS在运行时将会知道是定义了Dim a,b,c,d四个变量。
2)针对有字符串的处理。在前一行末尾加上一个引号后,再输入空格和下划线,然后第二行用“&”这个符号进行连接,并在"&"后对第二行的字符加上引号。如下所示:
Print ("I love my father
and my mother")
修改为:
Print ("I love my father" _
&"and my mother")
PS:这也是VBS和JS的区别,因为在VBS中,回车键被识别为换行符。
Q2:在VBS中,如何进行常量和变量的声明?
A2:在VBS中,声明常量使用Const关键字,声明变量时要使用Dim。
Q3:在使用Option Explicit时需要注意些什么?
A3:一旦程序中使用了Option Explicit,强制每一个变量的声明,则一定要注意所有在程序中使用到的变量都必须使用Dim进行声明后方可进行使用,否则在运行过程中将会出错。
Q4:如何在VBS中实现同一行数据的跳格和换行输出?
A4:在VBS中实现同一行数据的跳格使用VbTab关键字,如下所示:
Print ("1+1=" &VBTAB&"2")
结果为 1+1= 2
实现换行输出,使用VbCRLF关键字,即回车键,如下所示:
Print ("1+1=" &VBcrlf&"2")
结果为:1+1=
2
Q5:为什么要使用类型初始化函数?
A5:如果在VBS的运行过程中不使用类型初始化函数,那结果不一定正确.如下所示:
intFirstNumber = InputBox("Please enter the first number:")
intSecondNumber = InputBox("Please enter the second number:")
intTotal = intFirstNumber + intSecondNumber
Print "intTotal="&intTotal
这一段代码的本来想实现的功能是打印出输入的两个数之和,当输入intFirstNumber为5,intSecondNumber为7时,intTotal应该是12,但实际上如上的程序段的输入结果为intTotal=57.为什么呢?
这就是为什么VBS中要使用类型初始化函数,如果要使结果是我们预期结果,则需要修改如下代码如下:
intFirstNumber =CInt(InputBox("Please enter the first number:"))
intSecondNumber =CInt(InputBox("Please enter the second number:"))
intTotal = intFirstNumber + intSecondNumber
Print "intTotal="&intTotal
这样intTotal=12
在VBS中,我们经常会用到的类型初始化常用的函数有:Cbool、Cbyte、Ccur、Cdate、CDbl、Cint、CLng、CSng、CStr等。
Q6:Empty和Null有什么区别?
A7:Empty,Empty变量是一个没有初始化的变量,你用DIM语句定义一个变量时,如果这个变量没有赋给它特定的值的时候,它就是empty,一个empty的变量在数据强制的时候,如果是number变量就赋值给它0,如果是string的时候,就是赋值给它""(空).
而Null,是一个没有合法的赋值的变量,典型的null是从数据库操作中产生的.在使用过程中我们可以使用isnull来判断后再进行赋值。
Doubt:其实我也不知道我能够坚持学多久?
我也不知道以后我究竟会不会真的和technology打交道?但我想先学着吧。
所谓“书到用时方恨少”,我也很清楚一天不学就会停滞不前。而要学的东西是非常多,越来越多的,比如英语等等其他的。
我不知道同行当中有没有和我一样感受的人?