收藏 分享(赏)

vbscript.ppt

上传人:fmgc7290 文档编号:5164252 上传时间:2019-02-11 格式:PPT 页数:79 大小:379.50KB
下载 相关 举报
vbscript.ppt_第1页
第1页 / 共79页
vbscript.ppt_第2页
第2页 / 共79页
vbscript.ppt_第3页
第3页 / 共79页
vbscript.ppt_第4页
第4页 / 共79页
vbscript.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、张 宏,1,3.1 VBScript概述,3.2 VBScript基本元素,3.3 基本输入输出,3.4 条件语句,3.5 循环语句,3.6 过程,3.7 文档对象模型,第3章 VBScript语言,张 宏,2,第3章 VBScript语言,3.1 VBScript概述 3.1.1 什么是VBScriptVBScript是程序开发语言Visual Basic家族的最新成员,可以将 灵活的脚本应用于更广泛的领域,包括Microsoft Internet Explorer 中的Web客户端脚本和Microsoft Internet Information Server中的Web 服务器端脚本。 V

2、BScript脚本语言有以下主要特点: (1) 易学易用。如果读者已经了解Visual Basic或Visual Basic for Applications,就会很快熟悉VBScript。 (2) ActiveX脚本。VBScript使用ActiveX脚本与宿主应用程序对话;所用的脚本编写引擎是vbscript.dll,该引擎能够识别VBScript代码;脚本编写宿主是使用脚本编写引擎的应用程序,Internet Explorer就是宿主应用程序的一个例子,它通过引擎来运行脚本。 (3) 其他应用程序和浏览器中的VBScript。开发者可以在其产品中免费使用VBScript来实现程序。,张

3、宏,3,第3章 VBScript语言,3.1.2 在HTML页面中添加VBScript代码通常将VBScript脚本代码放在HEAD部分中,以使所有脚本代 码集中放置,这样能确保在BODY部分调用代码之前读取并解码所 有脚本代码。在HTML页面中添加VBScript脚本代码时,应以 标记开始,而以标记结束,基本语法格式为:标记具有以下三个属性: (1) LANGUAGE:指定脚本代码所使用的脚本语言。对于Internet Explorer浏览器来说,该属性的取值可以是“VBScript”或“JScript”,前者也可以简写为“VBS”。 (2) EVENT:指定与脚本代码相关联的事件。 (3)

4、 FOR:指定与事件相关联的对象。,张 宏,4,测试按钮MSGBOX“按纽被单击“,张 宏,5,3.1.3客户端脚本和服务器端脚本 1客户端脚本示例 客户端脚本是一段嵌入在html代码内的小程序,可以直接在客户端被浏览器编译解释执行,特点是在客户端可以查看到源代码.一般保存为html文件,代码放置在“”和“中”如:客户端脚本举例,张 宏,6,张 宏,7,2.服务器端脚本示例 服务器端脚本是将脚本代码的运行和编译过程都放到服务器端来运行,也就是这些脚本必须在服务器端运行,这样可以防止代码在客户端被查看,但是由于这样会导致服务器端负担的增加所以网页设计者应该尽量的使用客户端脚本以分担服务器的工作,

5、一般保存为asp文件,代码放置在“”中:如:服务器端脚本举例传承文明!开拓进取!,张 宏,8,张 宏,9,ASP的第一个简单实例欢迎光临我的主页,张 宏,10,VBScript语句书写规则,VBScript代码编写的脚本程序由一条或多条语句组成,语句中可以包括命令词、常量、变量、函数、运算符、运算式等。编写客户端脚本时,注释语句应被包含在 之间。编写服务器端脚本时,注释语句由单引号“”开头,在其后可以书写任何注释文字,在程序运行时并不执行。VBScript语句以行的形式编写,一条长语句在一行中写不下时,可在每行的尾部添加下划线“_”而写在多行上。VBScript语句中的英文字母不区分大小写。V

6、BScript脚本语言不是一种独立的语言,必须依附HTML而存在。VBScript脚本代码是一种纯文本,可以用任何一种文本编辑器编写。,张 宏,11,第3章 VBScript语言,3.2 VBScript基本元素 3.2.1 数据类型在VBScript语言中只有一种数据类型,即Variant,这种数据类 型可以包含不同类别的信息,它也是VBScript中所有函数的返回值 的数据类型。Variant包含的数值信息类型称为子类型,包括: Empty: 未初始化的Variant。 Null: 不包含任何有效数据的Variant Boolean: 包含True或False Byte : 包含0到255

7、之间的整数 Integer: 包含-32,768到32,767之间的整数 Currency: -922,337,203,685,477.5808到922,337,203,685,477.5807 Long: 包含-2,147,483,648到2,147,483,647之间的整数 Single: 包含单精度浮点数 Double 包含双精度浮点数 Date(Time): 含表示日期的数字 String: 包含变长字符串,最大长度可为20亿个字符 Object: 包含对象 Error: 包含错误号,张 宏,12,第3章 VBScript语言,3.2.2 VBScript常量 1. 普通常量普通常量分

8、为字符串常量和数值常量两种。字符串常量简称字符串,它由一对双引号括起来的字符序列所组成, 其中可以包含字母、汉字、数字,空格以及标点符号等,长度不超过20亿 个字符。例如,“ASP动态网页设计”,“Microsoft Explorer浏览器”。数值常量分为整型数、长整型数和浮点数。整型数和长整型数都可以 用十进制、十六进制和八进制三种形式来表示。使用十六进制数时,应在 数字前面加上&H前缀;使用八进制数时,应在数字前面加上&O前缀。对 于长整型数,使用十六进制或八进制形式表示时,还要在数字后面加上后 缀&。浮点数也称为实型数,分为单精度浮点数和双精度浮点数。浮点数 可以用小数形式表示,也可以用

9、科学记数法表示。 2. 符号常量符号常量是用一个标识符表示的常量,用于代替数字或字符串,其值 从发生不改变。在VBScript中,符号常量分为预定义符号常量和用户自定 义常量。VBScript提供了许多预定义符号常量,在编写脚本代码时无须声明即 可直接使用。例如,vbCrLf表示回车符和换行符的组合,vbGreen表示绿 色的数值。,张 宏,13,常量定义语法: Const 符号常量名 As 类型名 = 表达式 例如:Const PI = 3.14159 省略类型名,依表达式值确定PI为Double类型Const Name As String = “张华” 定义一个字符串常量,值为“张华“Co

10、nst Area = PI*5*5 表达式可使用已定义过的符号常量可以在一行内定义多个常量。例如:Const PI = 3.14159,Name As String = “张华“,Area = PI*5*5,张 宏,14,第3章 VBScript语言,3.2.3 VBScript变量 1. 声明变量在VBScript中,通常使用Dim语句显式声明变量并分配存储空间,语 法格式如下:Dim 变量名, 变量名 变量声明语法:Dim 变量名 As New 数据类型 = 表达式 例如,下面的两个语句分别声明了一个变量和四个变量:Dim UserNameDim Top, Bottom, Left, Ri

11、ght 此外,也可以通过直接在脚本中使用变量名这种方式隐式声明变量。但这 通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚 本时出现意外的结果。若要强制显式声明所有变量,可以在脚本程序的开 头处使用下面的语句: Option Explicit 2. 命名规则每一个变量都必须用一个标识符来作为其名称。变量命名必须遵循 VBScript的标准命名规则。变量的命名规则为:第一个字符必须是字母; 不能包含嵌入的句点(.); 长度不能超过255个字符;在被声明的作用域 内必须唯一;不能与VBScript的关键词相同。,张 宏,15,第3章 VBScript语言,3. 变量的作用域与存活期

12、变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有 该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称 为过程级变量。如果在过程之外声明变量,则该变量可以被脚本中所有过 程所识别,称为脚本级变量,具有脚本级作用域。变量存在的时间称为存活期。脚本级变量的存活期从被声明的一刻起, 直到脚本运行结束。对于过程级变量,其存活期仅是该过程运行的时间, 该过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存 储空间。在不同过程中可以使用同名的局部变量,这是因为每个局部变量 只被声明它的过程识别。 4. 给变量赋值在VBScript中,可以通过赋值语句指定变量的值,此时变量

13、位于等号 的左边,要赋的值位于等号的右边,该值可以是任何数值、字符串、常数 或表达式。例如:UserName = “张三丰“BirthDate = #1972-5-28#WeekWage = 500,张 宏,16,第3章 VBScript语言,5. 标量变量和数组变量只包含一个值的变量称为标量变量。包含一系列值的变量称为数组变 量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组 变量时变量名后面带有括号( )。下面的语句声明了一个一维数组:Dim A(10)虽然括号中显示的数字是10,但由于在VBScript中所有数组都是基于 0的,所以这个数组实际上包含11个元素。在基于0的数

14、组中,数组元素的 数目总是括号中显示的数目加1。这种数组被称为固定大小的数组,简称 为定长数组。在数组中,使用数组名和索引来引用数组的每个元素,语法格式如下:数组名(索引值)下面的赋值语句将数据赋给数组元素,或者将数组元素的值赋给变量:A(0) = 256:A(1) = 368:A(2) = 121:SomeVariable = A(8)数组并不仅限于一维。数组的维数最大可以为60。声明多维数组时, 使用逗号分隔括号中每个表示数组大小的数字。 例如,下面语句声明了一个有6行和11列的二维数组,其名称为MyTable:Dim MyTable(5, 10)声明二维数组时,括号中的第一个数字表示行的

15、最大索引值,第二个 数字表示列的最大索引值。,张 宏,17,张 宏,18,第3章 VBScript语言,6. 动态数组动态数组是在运行脚本时大小发生变化的数组。对动态数组的 最初声明可以使用Dim语句或ReDim语句来实现,但括号中不能包 含任何数字。例如:Dim MyArray()ReDim AnotherArray()若要使用动态数组,必须随后使用ReDim确定维数和每一维的 大小。例如,下面的ReDim语句将动态数组的初始大小设置为25, 而后面的ReDim语句将数组的大小重新调整为30,同时使用 Preserve关键字在重新调整大小时保留数组的内容。ReDim MyArray(25)R

16、eDim Preserve MyArray(30)重新调整动态数组大小的次数是没有任何限制的,但是应注意, 将数组的大小调小时,将会丢失被删除元素的数据。,张 宏,19,7混合使用 HTML 和脚本命令 示例1:,张 宏,20,示例2:早上好!您好! ,张 宏,21,示例3:,张 宏,22,第3章 VBScript语言,3.2.4 VBScript运算符 1. 算术运算符 VBScript提供了九个算术运算符,用来执行简单的算术运算。 (1) 求幂运算符(): result = number exponent (2) 乘法运算符(*): result = number1 * number2 (

17、3) 除法运算符(/): result = number1 / number2 (4) 整除运算符(): result = number1 number2 (5) 求余运算符(Mod): result = number1 Mod number2 (6) 加法运算符(): result = expression1 + expression2 (7) 减法运算符():result = number1- number2(减法)- number(负号),张 宏,23,第3章 VBScript语言,2. 连接运算符连接运算符(&)强制两个表达式进行字符串连接,语法格式 如下:result = expre

18、ssion1 & expression2其中result为任意变量,expression1和expression2都是任意表达 式。当任一expression不是字符串时,它将被转换为String子类型。 如果两个表达式都是Null,则result也为Null。然而,如果仅有一个 expression为Null,则它和其他表达式连接时,按零长度字符串(“) 处理。任何表达式为Empty时也按零长度字符串处理。,张 宏,24,第3章 VBScript语言,3. 比较运算符 比较运算符用于比较表达式,包括:(大于)=(大于或等于)=(等于)(不等于)比较表达式的规则或结果若两个表达式都是数值,则执

19、行数值比较;若两个表达式都是字符串, 则执行字符串比较;若一个表达式是数值而另一个是字符串,则数值表达 式小于字符串表达式;若一个表达式是数值而另一个是字符串,则数值表 达式小于字符串表达式;若一个表达式是Empty而另一个是数值,则执行 数值比较,使用0作为Empty表达式;若一个表达式是Empty而另一个是字 符串,则执行字符串比较,使用零长度字符串(“”)为Empty表达式;若 两个表达式都是Empty,则表达式相等。,张 宏,25,第3章 VBScript语言,4. 逻辑运算符 (1) Not运算符:对表达式执行逻辑非运算,语法格式如下:result = Not expression

20、(2) And运算符:对两个表达式进行逻辑“与”运算,语法格式如下:result = expression1 And expression2 And运算符还可以对两个数值表达式中位置相同的位执行逐位比较。 (3) Or运算符:对两个表达式进行逻辑“或”运算,语法格式如下:result = expression1 Or expression2 Or运算符还可以对两个数值表达式中位置相同的位执行逐位比较。 (4) Xor运算符:对两个表达式进行逻辑“异或”运算,语法格式如下:result = expression1 Xor expression2 Xor运算符还可以对两个数值表达式中位置相同的位执

21、行逐位比较。 (5) Eqv运算符:执行两个表达式的逻辑等价运算,语法格式为:result = expression1 Eqv expression2 Eqv运算符还可以执行两个数值表达式相应位的逐位比较。 (6) Imp运算符:对两个表达式进行逻辑蕴涵运算,语法格式如下:result = expression1 Imp expression2 Imp运算符还可以执行两个数值表达式相应位的逐位比较。,张 宏,26,第3章 VBScript语言,5. 运算符优先级当表达式包含多个运算符时,将按预定顺序计算每一部分,这 个顺序被称为运算符优先级。使用括号可以越过这种优先级顺序, 强制首先计算表达式

22、的某些部分。运算时,总是先执行括号中的 运算符,然后再执行括号外的运算符。但在括号中仍要遵循标准 运算符优先级。当表达式包含多种运算符时,首先计算算术运算符,然后计算 比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相 同,即按照从左到右的顺序计算比较运算符。算术运算符、比较 运算符和逻辑运算符的优先级在表3. 23.4中列出。,张 宏,27,第3章 VBScript语言,3.3 基本输入输出 3.3.1 基本语句赋值语句将表达式的值赋给变量或属性。如果要将对象引用赋给变量 或属性,则不能使用赋值语句,而应使用Set语句,其语法格式如下:Set objectvar = objectexp

23、ression | New classname | Nothing其中objectvar用于指定变量或属性的名称,objectexpression是由对象 名称、另一个已声明为相同对象类型的变量或返回相同对象类型的对象的 函数或方法组成的表达式,New关键字用于创建新的类的实例,classname 是类名,Nothing用于停止objectvar与任何指定对象或类的关联。使用注释语句添加说明性文字,语法格式如下: 注释文字编写VBScript脚本代码时,通常是在一行上写一个语句。但有些语句 很短,可将多个语句写在同一行中,并使用冒号(:)来分隔各个语句:X = T : T = Y : Y =

24、T 交换变量X和Y的内容对于比较长的语句,可以使用续行符将其分成多行,续行符由一个空 格和一个下划线符号组成。通过使用续行符,可以在第二个物理行上继续 上一个逻辑行上的内容。例如:msg = “白日依日尽,黄河入海流。“ & vbCrLf & _“欲穷千里目,更上一层楼。“,张 宏,28,第3章 VBScript语言,3.3.2 MsgBox函数MsgBox函数在对话框中显示消息,等待用户单击按钮,并返 回一个值指示用户单击的按钮,语法格式如下:MsgBox(prompt, buttons, title, helpfile, context)其中prompt参数是显示在对话框中的字符串表达式,

25、其最大长 度大约是1024个字符;buttons是一个数值表达式,用于指定显示按 钮的数目和类型、使用的图标样式,其默认值为0;title是显示在 对话框标题栏中的字符串表达式;helpfile是字符串表达式,用于 标识为对话框提供上下文相关帮助的帮助文件;context是数值表达 式,用于标识由帮助文件的作者指定给某个帮助主题的上下文编 号。,张 宏,29,Msgbox(“显示内容”,图标名称,标题) 名称 值 说明 Vbcritical 16 “重要信息”图标 Vbquestion 32 “询问符号” Vbexclamation 48 “警告符号” Vbinformation 64 “信息

26、”,张 宏,30,a=5*5 mod 8 +2 msgbox “a的值是“&a,32,“窗口“,张 宏,31,张 宏,32,Msgbox(”显示内容”,“按钮名称”) 值 说明 0 确定 确定及取消 异常终止 重试 略过 是 否 取消 是 否 重试 取消,张 宏,33,msgbox “按钮“,2,张 宏,34,示例:MsgBox 函数举例,张 宏,35,张 宏,36,格式: MsgBox prompt , buttons , title 示例:MsgBox 语句举例,张 宏,37,第3章 VBScript语言,3.3.3 InputBox函数InputBox函数在对话框中显示提示,等待用户输入

27、文本或单击按钮, 并返回文本框内容,语法格式如下:InputBox(prompt, title, default, xpos, ypos, helpfile, context)其中prompt参数是显示在对话框中的字符串表达式,其最大长度大约 是1024个字符;title是显示在对话框标题栏中的字符串表达式;default是 显示在文本框中的字符串表达式,在没有其他输入时作为默认的响应值, 如果省略default,则文本框为空;xpos是数值表达式,用于指定对话框的 左边缘与屏幕左边缘的水平距离(单位为缇),如果省略xpos,则对话框 会在水平方向居中;ypos也是数值表达式,用于指定对话框的

28、上边缘与屏 幕上边缘的垂直距离(单位为缇),如果省略ypos,则对话框显示在屏幕 垂直方向距下边缘大约三分之一处;helpfile和context参数与MsgBox函数 中的相应参数意义相同。如果用户单击“确定”按钮或按下Enter键,则InputBox函数返回文本框 中的内容。如果用户单击“取消”按钮或按下Esc键,则InputBox函数返回一 个零长度字符串(“)。,张 宏,38,示例:InputBox 函数举例,张 宏,39,张 宏,40,3.3.4 VBScript内置函数 1 .日期时间函数,张 宏,41,张 宏,42,2.数学运算函数,张 宏,43,3 字符处理函数,张 宏,44,

29、张 宏,45,4.数据类型判别函数,张 宏,46,5 .数据类型转换函数,张 宏,47,课堂练习,1、编写一个网页,在其HEAD部分编写一段脚本代码,当该页被加载时显示一个输入对话框,提示让访问者输入姓名,单击“确定”按钮后,在对话框中显示对该访问者的欢迎信息。提示:在网页的HEAD部分编写一个过程(如名称为Welcome),通过InputBox函数输入用户信息,通过MsgBox函数显示欢迎信息,并将BODY标记的onLoad属性设置为该过程名称,以便该页被加载时执行该过程2、编写程序代码计算课本P61第2题,张 宏,48,第3章 VBScript语言,3.4 条件语句 3.4.1 If.Th

30、en.Else语句If.Then.Else语句简称If语句,用于计算条件是否为True或False,并 且根据计算结果指定要执行的语句。If.Then.Else语句有两种形式:即单 行形式和块形式。 1. If语句的单行形式对于If语句的单行形式,可以将其语法格式表示如下:If condition Then statements Else elsestatements 其中condition是一个数值或字符串表达式,其运算结果是True或False, 如果condition为Null,则condition被视为False;condition也可以是形如 TypeOf objectname Is

31、 objecttype的表达式,其中objectname是任何对象的引 用,而objecttype则是任何有效的对象类型,如果objectname是objecttype所 指定的一种对象类型,则表达式为True,否则为False。statements和 elsestatements是一条语句或以冒号分开的多条语句。当未用Else子句时,如果condition为True,则执行statements,否则执 行下一条语句;当使用Else子句时,如果condition为True,则执行 statements,否则执行elsestatements。,张 宏,49,例如:,=60 then msgbox

32、“及格“ ,张 宏,50,=60 then msg=“及格!“ else msg=“不及格!“ endif msgbox“您的成绩是:“&msg,张 宏,51,第3章 VBScript语言,2. If语句的块形式语法格式表示如下:If condition Then statementsElseIf condition-n ThenelseifstatementsElseelsestatementsEnd If 其中condition、condition-n的意义同单行形式中的condition, statements、elseifstatements和elsestatements都是一条语句或

33、以冒号分开的 多条语句。当程序运行到块形式时,将测试condition。如果condition为True,则 执行Then之后的语句。如果condition为False,则每个ElseIf部分的条件表 达式(如果有的话)会依次计算并加以测试。当找到某个为True的条件时, 则其相关的Then之后的语句会被执行。如果没有任何一个ElseIf语句中的 条件是True或没有使用ElseIf子句,则将执行Else之后的语句。执行Then或Else之后的语句以后,将继续执行End If之后的语句。,张 宏,52,=90 then msg=“A等“ elseif score=80 then msg=“B等

34、“elseif score=70 then msg=“C等“,张 宏,53,elseif score=60 then msg=“D等“ else msg=“E等“ end if msgbox “您的成绩是:“&msg,张 宏,54,第3章 VBScript语言,3.4.2 Select Case语句Select Case testexpressionCase expressionlist-nstatements-n.Case Else expressionlist-nelsestatements-nEnd Select其中testexpression是任意数值或字符串表达式,expressio

35、nlist-n是一个 或多个表达式的分界列表。statements-n是当testexpression与expressionlist-n 中的任意部分匹配时执行的一条或多条语句。elsestatements-n是当 testexpression与Case子句的任何部分不匹配时执行的一条或多条语句。如果testexpression与任何Case expressionlist表达式匹配,则执行此 Case子句与下一个Case子句之间的语句,对于最后的子句,则会执行该子 句到End Select之间的语句,然后控制权会转到End Select之后的语句。如 果testexpression与多个Cas

36、e子句中的expressionlist表达式匹配,则只有第一 个匹配表达式后的语句被执行。Case Else用于指示若在testexpression和任 何其他Case选项的expressionlist之间未找到匹配,则执行elsestatements。 如果没有Case expressionlist与testexpression匹配且无Case Else语句,则继 续执行End Select之后的语句。,张 宏,55,张 宏,56,msg=“FOUR“ CASE ELSE msg=“FIVE“ END SELECT msgbox no&“的英文是:“&msg,张 宏,57,第3章 VBScr

37、ipt语言,3.5 循环语句 3.5.1 Do.Loop语句 第一种语法格式: 第二种语法格式: Do While | Until condition Dostatements statementsExit Do Exit Dostatements statements Loop Loop While | Until condition在Do.Loop语句的语法格式中,condition是数值或字符串表达式,其 值为True或False,如果condition为Null,则condition被当作False。 statements是当condition为True时被重复执行的一个或多个语句。W

38、hile关键字用于检查Do.Loop语句中的条件。有两种方式检查条件: 在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。只 要条件为True,就会进行循环。一旦条件变成False,则退出循环。Until关键字也用于检查Do.Loop 语句中的条件。有两种方式检查条 件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。 只要条件为False,就会进行循环。一旦条件变成True,则退出循环。,张 宏,58,counter=1 sum=0 do while counter,张 宏,59,3.5.2 While.Wend语句While.Wend语句当指定的条件为True时执

39、行一系列的语句, 语法格式如下:While conditionstatementsWend其中condition是数值或字符串表达式,其计算结果为True或 False。如果condition为Null,则condition被当作False。statements在 条件为True时执行的一条或多条语句。如果condition为True,则statements中所有Wend语句之前的语 句都将被执行,然后控制权返回到While语句,并且重新检查 condition。如果condition仍为True,则重复执行上面的过程。如果 不为True,则从Wend语句之后的语句处继续执行程序。While.

40、Wend循环可以是多层嵌套结构。每个Wend与最近的 While语句对应。,张 宏,60,counter=1 sum=0 while counter,张 宏,61,3.5.3 For.Next语句For counter = start To end Step stepstatementsExit ForstatementsNext其中counter是用作循环计数器的数值变量,不能是数组元素; start和end分别是counter的初值和终值;step是counter的步长,其默 认值为1;statements是For和Next之间的一条或多条语句,将被执 行指定次数。step参数可以是正数或

41、负数。step参数值决定循环的执行情况: 当step参数是正数或0时,若counter = end,则执行循环。当循环启动并且所有循环中的语句都执行后,step值被加到 counter中。这时,或者循环中的语句再次执行(基于循环开始执 行时同样的测试),或者退出循环并从Next语句之后的语句处继续 执行。,张 宏,62,sum=0 for counter=1 to 100 step 1 sum=sum+counter next msgbox “1+2+3+100=“&sum&“。“,vbonlyok+vbinformation,“循环语句示例“,张 宏,63,3.5.4 For Each.Ne

42、xt循环For Each element In groupstatementsExit ForstatementsNext element其中element用来枚举集合或数组中所有元素的变量,group是 对象集合或数组的名称,statements是对于group中的每一项执行的 一条或多条语句。如果group中有至少一个元素,就会进入For Each 块执行。一旦进入循环,便首先对group中第一个元素执行循环中 的所有语句。只要group中还有其他元素,就会对每个元素执行循 环中的语句。当group中没有其他元素时退出循环,然后从Next语 句之后的语句处继续执行。可以将一个For Eac

43、h.Next循环放置在 另一个之中,组成嵌套式For Each.Next循环。但是每个循环的 element必须是唯一的。如果省略Next语句中的element,则程序仍 会像已包含它一样继续执行。如果Next语句在相应的For语句之前 出现,则会产生错误。,张 宏,64,dim myarray(100),i,anyelement,sum sum=0 for i=0 to 100 step 1 myarray(i)=2*i next for each anyelement in myarray sum=sum+anyelement next msgbox “2+4+6+200=“&sum&“。

44、“,vbonlyok+vbinformation,“循环语句示例“,张 宏,65,课堂练习,1、设计一个程序,依据用户在对话框内输入的身高判断是否需要购买全票(身高130以上要购买全票,否则购买半票)效果如图所示:,张 宏,66,2、编写程序代码实现99乘法口诀方阵的输出。 3、编写一个网页,用于计算和输出1011 000之间所有奇数之和。 4、设计一个VBSCRIPT程序,如果是早上进入网页会显示早上好,下午显示下午好,晚上显示晚上好。,张 宏,67,3.6 过 程 什么是子程序?msgbox“我在外面!” 没有调用子程序a sub a msgbox“我在里面!“ end sub,张 宏,6

45、8,msgbox“我在外面!“ a 调用子程序a , a即为子程序 sub a msgbox“我在里面!“ end sub,张 宏,69,3.6.1 Sub过程Sub过程是没有返回值的过程,可以用Sub语句来声明其名称、 参数以及构成其主体的代码,语法格式如下:Public | Private Sub name ( arglist )statementsExit SubstatementsEnd Sub其中Public表示Sub过程可以被所有脚本中的所有其他过程访 问;Private表示Sub过程只可以被声明该过程的脚本中的其他过程 访问;name指定Sub过程的名称,遵循标准变量命名约定;

46、statements在Sub过程主体内所执行的任何语句组;使用Exit Sub语 句可以立即从Sub过程中退出,程序继续执行调用Sub过程的语句 之后的语句;arglist代表在调用时要传递给Sub过程的参数的变量 列表,用逗号隔开多个变量。,张 宏,70,过程的调用使用Call语句可以将控制权传递给Sub或Function过程,语法为:Call name argumentlist其中Call是可选关键字,如果指定了此关键字,则必须用括号 把argumentlist括起来;name是必选的,用于指定要调用的过程名; argumentlist是可选的,给出传递给过程的变量、数组或表达式列 表,用

47、逗号分隔每一项。在调用过程时,不必使用Call关键字。然而,如果使用Call关 键字调用要求参数的过程,则必须用括号将argumentlist括起来。 如果省略Call关键字,则必须同时省略argumentlist参数两边的括号。 使用Call语法调用内部函数或使用用户自定义函数,函数返回值都 会被放弃。当把控制权传递给过程时,会把Sub和End Sub之间的所有语句 执行一遍,然后从调用该过程的语句的下一条语句处继续执行。 如果在过程中执行了Exit Sub语句,则会立即从过程中退出,并继 续执行过程调用语句的下一条语句。Exit Sub语句通常是与判定结 构一起使用的,当某个条件成立时才退

48、出过程。,张 宏,71,3.6.2 Function过程Function过程拥有返回值,用Function语句来声明其名称、参数 以及构成其主体的代码,语法为:Public | Private Function name ( arglist ) name = expressionEnd Function 其中Public表示Function过程可以被所有脚本中的所有其他过程 访问;Private表示Function过程只能被声明它的脚本中的其他过程 访问;name指定Function过程的名称,遵循标准的变量命名规则; statements在Function过程的主体中执行的任意语句组;expression 给出Function过程的返回值;使用Exit Function语句可以从Function 过程中立即退出,程序继续执行调用Function过程的语句之后的语 句;arglist代表调用时要传递给Function过程的参数的变量列表。,张 宏,

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

当前位置:首页 > 网络科技 > Visual Basic

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报