vbscript实例.docx

上传人:b****8 文档编号:11516448 上传时间:2023-03-02 格式:DOCX 页数:46 大小:97.86KB
下载 相关 举报
vbscript实例.docx_第1页
第1页 / 共46页
vbscript实例.docx_第2页
第2页 / 共46页
vbscript实例.docx_第3页
第3页 / 共46页
vbscript实例.docx_第4页
第4页 / 共46页
vbscript实例.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

vbscript实例.docx

《vbscript实例.docx》由会员分享,可在线阅读,更多相关《vbscript实例.docx(46页珍藏版)》请在冰豆网上搜索。

vbscript实例.docx

vbscript实例

13.2 VBScript

一、了解VBScript

在FrontPage2000的脚本编辑器中既可使用JavaScript,也可以使用VBScript,对于熟悉VisualBasic的人来说,使用VBScript好些。

VBScript和一般的VBforWindows语言一致,都有相同的语法,但也略有一些差异。

VBScript的全称是VisualBasicScriptingEdition,它是Microsoft的VisualBasic家族中的一员,是Microsoft的网络战略的一部分。

与JavaScript一样,它也是一种脚本语言,其根本的目的是增加页面的动态特性和交互能力。

使用VBScript,我们可以确认窗体数据、制作客户页,甚至可以编写网络游戏。

有了VBScript,我们就可以更好地控制页面上的窗体等对象,制作出更加完美的页面。

VBScript简单易学,有利于快速入门。

本章着重介绍VBScript的基本知识、VBScript事件处理方法和如何在FrontPage中使用VBScript。

二、VBScript事件处理程序

VBScript是一种标识语言,就像HTML一样,它不需经过编译,只要在支持它的浏览器上就能运行。

和VisualBasic一样,VBScript也是建立在“对象”这一概念上的。

什么是“对象”?

简单地讲对象就是客观实体的逻辑抽象,是对属性和相关过程的软件封装。

对象有三个重要的内容:

属性(Properties)、方法(Methods)和事件(Events)。

属性是表征对象状态的变量,它的值的集合就是对象所处的某个确定的状态。

方法是对象能够做的事情,其实是一些过程或函数。

而事件则是对象可以对之产生响应的事。

我们编写脚本的目的就是处理事件。

在VBScript中,有三种处理事件的方式,它们适用于不同的情况。

1.VBScript事件过程

编写事件过程是最常用的事件处理方法。

在VBScript中,使用一种特殊的命名方式来命名事件过程,这种格式的一般形式是:

“对象名_事件”。

当该对象发生事件时,系统就支寻找相应的处理过程来处理它,也就是说,VBScript通过将对象和事件合并起来为过程命名的方法来处理事件。

例如下例中将一个按钮命名为btnButton,或以编写它的onClick事件处理过程名为btnButton_onClick。

当该按钮对象发生单击事件时,系统就去寻找相应的处理过程来处理它。

图13-1是该事件处理程序执行的结果。

 

图13-1 按钮单击事件处理过程执行结果

 

下面是它的HTML文档。

--

subbtmButton_onClick

Msgbox"Hi!

youhaveclickedonme!

YouareWelcome!

"

EndSub

-->

 

"name="btmButton">

 

2.内联事件处理

使用事件过程是一种比较正式的事件处理方式,而处理内联事件更加简捷。

它不用专门书写事件过程,只需要直接在对象的HTML文档位置手稿即可。

例如上面的例子可以改写为:

"name="btnButton"onClick='MsgBox"

Hi!

Youhaveclickedonme!

YouareWelcome!

"'language="VBScript">

其结果与上面的例子是一样的。

3.FOR/EVENT属性

如果不想用事件过程和内联事件来处理事件,还可以使用

Name="btnButton">

对于传递形式参数的事件,如下使用即可:

--MsgBox"Hi!

youhaveclickedonme!

YouareWelcome!

"-->

然后,脚本可以使用该事件传递的参数。

三、VBScript的编码约定

1.什么是编码约定

编码约定是帮助我们使用MicrosoftVisualBasicScriptingEditon编写代码的一些建议。

编码约定包含以下内容:

1)   对象、变量和过程的命名约定;

2)   注释约定;

3)   文本格式和缩进指南。

使用一致的编码约定的主要原因是使script或script集的结构和编码样式标准化,这样的代码易于阅读和理解。

使用好的编码约定可以使源代码明白、易读、准确、更加直观地与其他语言约定保持一致。

2.常量命名约定

VBScript的早期版本不允许创建用户自定义常量。

如果要使用常量,则常量经变量的方式实现,且全部字母大写以和其他变量区分。

常量名中的多个单词用下划线分隔。

例如:

USER_LIST_MAX

NEW_LINE

这种标识常量的方法依旧可行,但我们还可以选择其他方案,用Const语句创建真正的常量。

这个约定使用大小写混合的格式,并以“con”作为常量名的前缀。

3.变量命名约定

出于易读和一致性的目的,请在VBScript中使用以下表所示变量命名约定:

子类型

前缀

示例

Boolean

bln

BlnFound

Byte

byt

BytRasterDate

Date(Time)

dtm

DtmStart

Double

dbl

DblTolerance

Error

err

ErrOrderNum

Integer

int

IntQuantity

Long

lng

LngDistance

Object

obj

ObjCurrent

Single

sng

SngAverage

String

str

StrFistName

4.变量作用域

变量应定义在不同的作用域中。

Vbscript变量的作用域如下表:

作用域

声明变量处

可见性

过程级

事件、函数或子过程

在声明变量的过程中可见

Script级

Html页面的Head部分,任何过程之外

在script的所有过程中可见

随着Script代码长度的增加,变量的作用域就不好判别。

为了快速区分变量的作用域,在变量的前面添加一个单字符的前缀以实现这一点,而不致使变量名过长。

如下表所示。

作用域

前缀

示例

过程级

DblVelocity

Script级

S

SblnCalcInProgress

5.描述性变量名和过程名

变量名或过程名可以使大小写混合的格式,并且尽量完整地描述其目的。

另外,过程名应以动词开始,例如InitNameArray或CloseDialog。

对于经常使用的或较长的名称,推荐使用标准缩写以使名称保持在适当的长度以内。

通常多于32个字符的变量名会变得难以阅读。

使用缩写时,应确保在整个Script中保持一致。

例如:

在一个Script或Script集中随意切换Cnt和Count将造成混乱。

6.对象命名约定

下表列出了VBScript中可能用到的对象命名约定(推荐)。

对象类型

前缀

示例

3D面板

pnl

pnlGroup

动画按钮

ani

AniMailBox

复选框

chk

ChkReadOnly

组合、下拉列表框

cbo

CboEnglish

命令按钮

cmd

CmdExit

公共对话框

dlg

DlgFileOpen

框架

fra

FraLanguage

水平滚动条

hsb

HsbVolume

图像

img

ImgIcon

标签

lbl

LblHelpMessage

直线

lin

LinVertical

列表框

lst

LsPolicyCodes

旋钮

spn

SpnPages

文本框

txt

TxtLastName

垂直滚动条

vsb

VsbRate

滑块

sld

SldScale

7.代码注释约定

所有过程的开始部分都应有描述其功能的简要注释。

这些注释并不描述细节信息(如何实现功能),因为细节有时要频繁更改,这样就可以避免不必要的注释维护工作以及错误的注释。

细节信息由代码本身及必要的内部注释来描述。

当传递给过程的参数用途不明显,或过程对参数的取值范围有要求时,应另外加以文字说明。

如果过程改变了函数和变量的返回值(特别是通过参数引用来改变),也应在过程的开始部分描述该返回值。

过程开始部分的注释应包含以下区段标题。

相关样例,请参考后面的“格式化代码”部分。

下表列出了VBScript中代码注释约定。

区段标题

注释内容

目的

过程的功能(不是实现功能的方法)

假设

其状态影响此过程的外部变量、控件或其他元素的列表

效果

过程对每个外部变量、控件或其他元素的影响效果的列表

输入

每个目的不明显的参数的解释,都应占据单独一行并有其内部注释

返回

返回值的解释

8.格式化代码

应尽可能多地保持屏幕清晰,但仍允许用代码格式反映逻辑结构和嵌套。

以下为几点提示:

1)   标准嵌套块应缩进4个空格。

2)   过程的概述注释应缩进1个空格。

3)   概述注释后的最高层语句应缩进4个空格,第一层嵌套块再缩进4个空格。

例如:

'目的:

   返回指定用户在UserList 数组中第一次出现的位置

'输入:

   strUserList():

                  所查找的用户列表

'         strTargetUser:

                    要查找的用户名

'返回:

   strTargetUser在strUserList数组中第一次出现时的索引

'         如果目标用户未找到,返回-1

FunctionintFindUser(strUserList(),strTargetUser)

Dimi

DimblnFound                             '循环计数器

inFindUser=-1                             '发现目标的标记

i=0                                      '初始化循环计数器

DoWhilei<=Ubound(strUserList)andNotblnFound

   IfstrUserList(i)=strTargetUserThen

       blnFound=True                     '标记设为True

       intFindUser=i                      '返回值设为循环计数器

   EndIf

Loop

EndFunction

四、VBScript的常量和变量

1.什么是常量

常量是具有一定含义的名称,用于代替数字或字符串,其值从不改变。

VBScript定义了许多固有常量。

2.创建常量

我们可以使用Const语句在VBScript中创建用户自定义常量。

使用Const语句可以创建名称具有一定含义的字符串型或数值常量,并给它们赋值。

下列常量是VBScript的通用常量:

Ture:

表示布尔真值

False:

表示布尔假值

Empty:

表示变量尚未初始化

Nothing:

表示对象没有引用任何变量

Null:

表示不含有效数据的变量

另外,程序编写者可以用常量语句定义自己的常量,其格式如下:

ConstConstName=Value

这里ConstName是该常量的名字,而Value就是它的值。

例如:

ConstMyString="0"  '这是一个字符串

ConstMyAge=49

一般地,字符串文字包含在两个引号("")之间。

日期文字和时间文字包含在两个(#)号之间,例如:

ConstCutoffDate=#6-1-97#

3.什么是变量

变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。

例如,可以创建一个名为ClickCount的变量来存储用户单击Web页面上某个对象的次数。

使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。

在VBScript中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant,但它所包含的数值信息是多种多样的,此数值信息类型称为子类型。

下表是Variant包含的数据子类型。

子类型

描    述

Empty

未处始化的Variant。

对于数值变量,值为0;对于字符串变量,值为空字符串("")

Null

不包含任何有效数据的Variant

Boolean

包含True或False

Byte

包含0到255之间的整数

Integer

包含-32768到32767之间的整数

Currency

包含-3685477.5808到3685477.5807

Long

包含-48到47之间的整数

Single

包含单精度浮点数,负数范围从-3.402823E38到-1.401298E-45,正数范围从1.401298E-45到3.402823E38

Double

包含双精度浮点数,负数范围从-1.486232E308到-4.84124E-324,正数范围从4.84124E-324到1.486232E308

Date

包含表示日期的数字,日期范围从公元100年1月1日到公元9999年12月1日

String

包含变长字符串,最大长度可为20亿个字符

Object

包含对象

Error

包含错误号

4.声明变量

声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显示声明变量。

例如:

DimDegreesFahrenheit

声明多个变量时,使用逗号分隔变量。

例如:

DimTop,Bottom,Left,Right

另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量,例如:

VarName=Value。

在这里,即使没有定义语句,程序也会自动分配给变量内存空间。

但这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。

因此,最好使用OptionEcplicit语句显式声明所有变量,并将其作为Script的第一条语句。

使用该语句后,如果在使用变量之前没有明确声明该变量,VBScript就会给出运行出错信息。

5.变量命名规则

变量命名必须遵循VBScript的标准命名规则。

变量命名必须遵循:

●        第一个字符必须是字母。

●        不能包含嵌入的句点。

●        长度不能超过255个字符。

●        在被声明的作用域内必须惟一。

另外,VBScript是不区别大小写的,因此变量名为name和Name是相同的。

6.变量的作用域与存活期

变量的作用域由声明它的位置决定。

如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。

如果在过程之外声明变量,则该变量可以被Script中所有过程所识别,称为Script级变量,具有Script级作用域。

变量存在的时间称为存活期。

Script级变量的存活期从被声明的一刻起,直到Script运行结束。

对于过程级变量是理想的临时存储空间。

可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。

7.给变量赋值

创建如下形式的表达式给变量赋值:

变量在表达式左边,要赋的值在表达式的右边。

例如:

B=200。

8.标量变量和数组变量

多数情况下,只需为声明的变量赋一个值。

只包含一个值的变量被称为标量变量。

有时候,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,称为数组变量。

数组变量和标量变量是以相同的方式声明的,惟一的区别是声明数组变量时变量名后面带有括号()。

下例声明了一个包含11个元素的一维数组:

DimA(10)

虽然括号中显示的数字是10,但由于在VBScript中所有数组都是基于0的,所以这个数组实际上包含11个元素。

在基于0的数组中,数组元素的数目总是括号中显示的数目加1。

这种数组被称为固定大小的数组。

在数组中使用索引为数组的每个元素赋值。

从0到10,将数据赋给数组的元素,如下所示:

A(0)=656

A

(1)=382

A

(2)=109

……

A(10)=59

这里值得一提的是:

VBScript不支持对数组的集体赋值。

如果想对一个数组初始化,即使所有的值都相同,也要一个一个地赋值(当然这种情况可以使用循环)。

数组并不仅限于一维。

数组的维数最大可以为60。

声明多维数组时用逗号分隔括号中每个表示数组大小的数字。

例如:

DimMyTable(5,10)

在这里,MyTable变量是一个有6行11列的二维数组。

在二维数组中,括号中第一个数字表示行的数目,第二个数字表示列的数目。

也可以声明动态数组,即在运行Script时大小发生变化的数组。

对数组的最初声明使用Dim语句或ReDim语句。

但是对于动态数组,括号中不包含任何数字。

例如:

DimMyArray()

ReDimPreserveMyArray()

要使用动态数组,必须随后使用ReDim语句确定维数和每一维的大小。

在下例中,ReDim将动态数组的初始值大小设置为25,而后面的ReDim语句将数组的大小重新调整为30,同时使用Preserve关键字在重新调整大小时保留数组的内容。

ReDimMyArray(25)

ReDimPreserveMyArray(30)

五、VBScript的运算符

VBScript有一套完整的运算符,包括算术符、比较符、连接符和逻辑运算符。

1.算术运算符和连接运算符

VBScript支持的算术操作符包括:

“+”(加法)“-”(减法)、“×”(乘法)、“÷”(浮点除法)、“\”(整数除法)、“^”(指数幂)、“Mod”(取余数)和“-”(取负数)。

●        “+”运算符:

描述:

用于计算两个数之和。

语法:

Result=Expressionl+Expression2

其中  Result:

任意数值变量。

      Expressionl、Expression2:

任意表达式。

说明:

如果两个表达式都是数值,则进行相加运算。

     如果两个表达式都是字符串,则进行连接。

     如果一个表达式是数值,另一个表达式是字符串,则进行相加运算。

●        “-”运算符

描述:

用于计算两个数值差或表示数值表达式的负值。

语法1:

Result=Number1-Number2

语法2:

-Number

其中 Result:

任意数值变量。

     Number、Number1、Number2:

任意数值表达式。

说明:

在语法1中,“-”运算符是用于计算两个数值的算术减法运算。

在语法2中,“-”运算符用作项目求反运算,表示表达式的负数。

●        “*”运算符

描述:

用于两个数相乘。

语法:

Result=Number1*Number2

其中 Result:

任意数值变量。

     Number1、Number2:

任意数值表达式。

说明:

如果一个或两个表达式为Null表达式,Result为Null,任何表达式为Empty时,则按0处理。

●        “\”运算符

描述:

用于两个数相除并返回以整数形式表示的结果。

语法:

Result=Number1\Number2

其中 Result:

任意数值变量。

     Number1、Number2:

任意数值表达式。

说明:

在除法操作前,数值表达式四舍五入为Byte、Integer或Long子类型表达式。

如果任何表达式为Null,Result也为Null。

任何表达式为Empty时,则按0外理。

●        “^”运算符

描述:

用于计算数的指数次方。

语法:

Result=Number^Exponent

其中 Result:

任意数值变量。

     Number、Exponent:

任意数值表达式。

说明:

仅当Exponent参数为整数时,Nunber参数才可为负值。

如果单个表达式中有多个指数运算,则“^”运算符按从左到右的顺序执行。

●         “Mod”运算符

描述:

用于两个数值相除并返回其余数。

语法:

Result=Number1ModNumber2

其中 Result:

任意数值变量。

     Number1、Number2:

任意数值表达式。

说明:

模数或余数。

运算符执行Number1除以Number2操作(浮点数四舍五入为整数)并只返回余数作为Result。

例如:

在下面的表达式中,A(为Result)等于5。

A=19Mod6.7

如果任一表达式为Null,则Result也为Null。

任一表达式为Empty时,则按0来处理。

●        “&”运算符

描述:

用于强制两个表达式进行字符串连接。

语法:

Result=Expressionl&Expression2

其中:

Result:

任意数值变量。

      Expressionl、Expression2:

任意表达式。

说明:

任一Expression不是字符串时,它将被转换为String子类型。

如果两个表达式都为Null,则Result也为Null。

如果仅一个Expression为Null,则他和其它表达式连接时,按零长度字符串("")处理。

任何表达式为Empty时,也按零长度字符串处理。

2.比较运算符

VBScript支持的比较操作符包括:

“=”(等于)、“<>”(不等于)、“>”(大于)、“>=”(大于等于)、“<”(小于)、“<=”(小于等于)和Is(对象引用符等)。

描述:

用于比较表达式。

语法:

Result=Expression1Compari

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1