第2章 VBScript 基础

94
第 2 第 VBScript 第第

description

第2章 VBScript 基础. 主要内容. 脚本语言是什么 常量、变量和表达式 常用函数 输入和输出. 本章目录. 2.1 脚本语言 . 2.5 常用函数 . 2.1.1 VBScript. 2.6 输入/输出 . 2.1.2 在 html 中嵌入 VBScript. 本章小结. 2.2 书写规则 . 2.3 常量、变量和数组 . 习题. 2.3.1 常量. 2.3.2 变量. 2.3.3 数组. 2.4 运算符与表达式 . 2.4.1 数学运算符. 2.4.2 比较运算符 . 2.4.3 逻辑运算符. 2.1 脚本语言. - PowerPoint PPT Presentation

Transcript of 第2章 VBScript 基础

Page 1: 第2章  VBScript 基础

第 2章 VBScript基础

Page 2: 第2章  VBScript 基础

主要内容 • 脚本语言是什么 • 常量、变量和表达式 • 常用函数 • 输入和输出

Page 3: 第2章  VBScript 基础

本章目录2.1.2 在 html 中嵌入

VBScript 2.1.1 VBScript

2.2 书写规则

2.4.1 数学运算符

2.1 脚本语言 本章小结 习题2.3 常量、变量和数组

2.3.2 变量 2.3.3 数组 2.3.1 常量

2.4.2 比较运算符 2.4.3 逻辑运算符

2.4 运算符与表达式

2.5 常用函数 2.6 输入 / 输出

Page 4: 第2章  VBScript 基础

2.1 脚本语言 • 首先说明以下几个概念

– 什么是脚本和脚本语言– 脚本语言有什么特点– 常用的脚本语言是什么

Page 5: 第2章  VBScript 基础

什么是脚本和脚本语言• 在用 html 写的网页文件中允许嵌入一些小的程序段来完成特定的功能,这样的一些小程序称为脚本• 系统对于这样的“小程序”通常并不像一般的程序那样编译执行,而是逐行解释执行。• 脚本中所使用的命令及语句集称为脚本语言。

Page 6: 第2章  VBScript 基础

脚本语言有什么特点•脚本语言介于 html 和 Java 、 C ++以

及 VB等编程语言之间。• html通常用于格式化和链接文本。而编程语言通常用于向机器发出一系列复杂的指令。•脚本语言介于两者之间,它的函数与编程语言相像,但它的语法和规则没有编程语言那么严格和复杂。

Page 7: 第2章  VBScript 基础

常用的脚本语言是什么•常用的脚本语言有 VBScript 和

JavaScript 。•不管是在网页中嵌入由服务器端执行的脚本代码还是由浏览器端执行的脚本代码,都可以同时使用这两种脚本语言来编写。只要你在每段脚本程序开始处标明所用的脚本语言。

Page 8: 第2章  VBScript 基础

2.1.1 VBScript •脚本语言 VBScript 是 VB ( Visual Basic )的

Scripting 版 , 它简单、易学,符合网页设计的特点,删除了 VB 中有安全性顾虑的一些指令,如读 写 、 删 除 文 件 等 , 使 设 计 者 可 放 心 地 在INTERNET 上传递的网页中使用。

•另 外 , VBScript 也 是 后 面 讨 论 的ASP ( Active Sever Pages )的缺省脚本语言。

•通过在 html 网页中加入 VBScript 脚本,可使静态的 html 网页成为动态网页。

Page 9: 第2章  VBScript 基础

2.1.2 在 html 中嵌入 VBScript • 使用 <script> 标记可将 VBScript 代码添加到 html 页面中。只需要将

VBScript 代码写在成对的 <script> 标记之间。 • 根据需要由 <script> 标记引导的脚本既可以出现在 <head> 标记之间,也可以出现在 <body> 标记之间。

Page 10: 第2章  VBScript 基础

嵌入 VBScript 例 例 1 :嵌入脚本用于显示问候信息

<html><head><title> 第一个 VBScript 脚本的网页 </title><script language="VBScript"><!-- MsgBox " 欢迎光临,敬请指正! "--></script></head><body>你见到问候信息了吗?</body></html>

嵌入的脚本

显示信息框的一个函数

Page 11: 第2章  VBScript 基础

例 1 :嵌入脚本用于显示问候信息当浏览器解释这一 html 文件时,若遇到<script> 标记,会通过检查 language属性来判断后面的脚本所使用的语言,得知是 VBScript 后,启动相应的引擎来分析处理两个标记之间的语句。

Page 12: 第2章  VBScript 基础

例 1 :嵌入脚本用于显示问候信息•本例中由于这段语句不是一个过程,脚本引擎立即执行这段程序,显示一个对话框,如左图所

“ ”示,并等待确认,单击 确定 后才打开其余的Web页。结果如右图所示。 测试本例

Page 13: 第2章  VBScript 基础

例 1 :嵌入脚本用于显示问候信息•为了验证本例中的代码,只需与其它html文档一样输入并保存到任意一个文件夹中。然后,在文件夹窗口双击该文件对应的图标即可。 •若要修改文件中的内容,可以在浏览器窗

“ ”口选择 查看 =>“ ”源文件 ,打开文本编辑器对它进行编辑和修改,修改完成后保“ ”存,再单击浏览器窗口的 刷新 按钮。

Page 14: 第2章  VBScript 基础

嵌入 VBScript 例例 2 :嵌入 VBScript 脚本用于测试按钮。

<html><head><title> 测试按钮事件 </title></head><body><form name="Form1"><input type="button" name="button1" value=" 单击这里 "><script for="button1" event="onClick"

language="VBscript">MsgBox " 你单击了这个按钮 !"</script></form></body></html>

Page 15: 第2章  VBScript 基础

例 2 :嵌入 VBScript 脚本用于测试按钮•本例浏览时,首先显示如左图所示的内容,窗口中有一按钮,当单击该按钮时,出现显示如右图所示的对话框。 测试本例

Page 16: 第2章  VBScript 基础

说明( 1 )在网页中嵌入 VBScript 脚本程序的一般形式为:

<script language=“VBScript”> ‘在这里书写 VBScript 代码</script>

•根据执行的顺序需要,可以将这部分内容放在由 <head> 标签引导的头部,也可以放在 <body> 部分。

Page 17: 第2章  VBScript 基础

说明( 2 )执行脚本时,为了显示一个信息框,可以使用 MsgBox 函数,形式为:

MsgBox“ 显示信息”•它将双引号之间内容作为提示信息显示在打开的窗口中。

Page 18: 第2章  VBScript 基础

说明( 3 )一般 Script 程序代码会放在 html的注释符号“ < ! --” 和“ -->” 之间,使用 html 文件的注释符“ <!--” 和“ -->” 的目的是当浏览器不支持这种脚本时不执行这段代码,也不把程序代码显示在网页上。

Page 19: 第2章  VBScript 基础

2.2 书写规则 • 用 VBScript 编写代码也有一定的书写规则,其主要规定如下: 1.程序代码中不区分字母的大小写 2.语句书写自由 3.注释有利于程序的维护和调试

Page 20: 第2章  VBScript 基础

1.程序代码中的大小写 • 在 VBScript 编写的代码中:

– 凡是用到的作为名称的(如变量名、文件名、网页中各元素对象的名称)符号串,都不区分大小写。即使出现在引号中也是如此。– 但作为参与表达式运算的字符串中的字符,还是区分大小写的。

Page 21: 第2章  VBScript 基础

2.语句书写自由 ( 1 )在同一行上可以书写多条语句,语句间用冒号“:”分隔。( 2 )单行语句可分若干行书写,在本行后加入续行符(空格和下划线“ _” )。( 3 )一行允许多达 255 个字符。

Page 22: 第2章  VBScript 基础

3.注释有利于程序的维护和调试注释以单 “引号 ’”开始,可以直接出现在语句后面。

Page 23: 第2章  VBScript 基础

2.3 常量、变量和数组 • 常量、变量和数组是语言的主要成分,以下分别进行讨论:

2.3.1 常量 2.3.2 变量 2.3.3 数组

Page 24: 第2章  VBScript 基础

2.3.1 常量 • 常量是一种在程序运行过程中不会改变、也不能改变的量。• 在 VBScript 中有一些预先定义好的常量可供使用,例如

Empty 、 Null 、 True… ,这些常量不用声明也不用定义就可以使用。•附录 A 中给出了常用的系统常量。

Page 25: 第2章  VBScript 基础

常量使用例 例 3 :使用系统常量

<html><head><title> 使用系统常量 </title><script language="VBScript"><!-- MsgBox "HELLO" & vbCrLf & "VBScript" --></script></head><body></body></html>

代表回车换行, Chr(13)&Chr(10)

Page 26: 第2章  VBScript 基础

例 3 :使用系统常量•浏览结果

分两行显示

测试本例

Page 27: 第2章  VBScript 基础

2.3.1 常量 •如果需要定义自己的常量,可以使用如下形式:Const 常量名称 =值

•其中常量名称可以是以字母开头的字母或数字组成的符号串。

Page 28: 第2章  VBScript 基础

常量使用例 例 4:使用自定义常量

<html><head><title> 计算面积 </title><script language="VBScript"><!-- Const Pi=3.14 MsgBox " 面积为 " & 3*3*Pi--></script></head> <body></body></html>

定义了自定义常量 Pi

Page 29: 第2章  VBScript 基础

例 4:使用自定义常量•浏览结果

测试本例

Page 30: 第2章  VBScript 基础

2.3.2 变量 • 变量是用来保存信息和计算结果的。程序中使用变量,实际上使用的是变量对应的内存单元中所存放的内容,即变量的值。顾名思义,在程序中可以改变变量的值。

1. 变量名 2.变量声明 3.变量的赋值

Page 31: 第2章  VBScript 基础

1. 变量名 •每个变量必须有一个名字,称为变量名。变量名可以由字母、数字和下划线组成,但变量名的第一个字符必须是字母。变量名不能超 255 个字符。

Page 32: 第2章  VBScript 基础

2.变量声明 •声明一个变量就是给出变量的名称(变量名)。在 VBScript 中变量可不经声明而直接使用。•但是,良好的编程习惯要求对每一个变量加以声明,这称为变量的显式声明。• 在< Script>块的首行加上:

Option Explicit• 将强制脚本中使用的每个变量都必须声明

Page 33: 第2章  VBScript 基础

2.变量声明 •要对变量进行声明,使用 Dim 语句,格式为:

Dim 变量名称列表•例如:

Dim i,j •定义一个名为 i的变量和一个名为 j的变量。注意:一般程序语言中,在声明变量时,必须指定变量的数据类型,但 VBScript 中不需要。

Page 34: 第2章  VBScript 基础

3.变量的赋值 •变 量利用 “ =” 进行赋值, VBScript 取得“ =” 号右边的值,然后将它指定给左边的变量。•形式如下:

< 变量名 >=< 表达式 >•例如:

a=b+1 c=text1.value

•其中: text1.value表示对象 text1的值。

Page 35: 第2章  VBScript 基础

3.变量的赋值 •通过赋值语句也可以将一些值送给某个对象的某个属性。形式如下:

< 对象名 >.< 属性名 >=< 表达式 >•例如:

myform.myname.value=“李明”

Page 36: 第2章  VBScript 基础

变量使用举例 例 5 :使用变量

<html><head><title> 使用变量 </title><script language="VBScript"><!-- Score=75 ' 变量 SCORE 的值为 75 MsgBox " 你的成绩为 " & Score Score=90 ' 变量 Score 的值改为 90 MsgBox " 你的成绩已改为 " & Score--></script></head><body></body></html>

符号“ &”为字符串联接符

Page 37: 第2章  VBScript 基础

例 5 :使用变量 •本例浏览时将首先显示如左图所示的提示框,单击确定后将显示如右图所示的提示框。 测试本例

Page 38: 第2章  VBScript 基础

2.3.3 数组 •数组可以认为是由许多名称相同的变量组成的,其中的每一个称为数组的一个元素,数组元素的通过名称和序号来使用。•这里包括以下内容

数组的声明和使用可变数组多维数组

Page 39: 第2章  VBScript 基础

数组的声明和使用•使用数组之前一定要先声明,这是和普通的变量不同的地方。对数组进行声明的形式为: Dim 数组名( n )•其中: n表示数组元素的最大序号(下标值)。

Page 40: 第2章  VBScript 基础

数据使用例例 6 :使用数组

<html><head><script language="VBScript"><!--Dim Box(9) '声明 10 个数组Box(2)=100 ‘100 放入数组的第 3 个元素 --></script></head><body></body></html>

测试本例

Page 41: 第2章  VBScript 基础

可变数组• 如果希望到程序执行时再看情况而设置数组的大小 ,可以声名一个尚未定义大小的数组,使用前再定义它的大小。使用时觉得数组太大或太小,还可以再使

用 Redim 重新指定其大小。分别使用以下语句:– Dim数组名 () – Redim数组名 (n) – Redim Preserve 数组名 (n)

重定义时保留原数组中数据

Page 42: 第2章  VBScript 基础

使用可变数组例 7:使用可变数组

<html><head><title> 使用可变数组 </title><script language="VBScript"><!-- Dim Score() ' 定义不确定元素个数的数组 Redim Score(3) '重新定义数组元素的个数 Score(0)=90 Score(1)=86 Score(2)=99 Score(3)=54 Msg=Score(0)&" "&Score(1)&" "&Score(2)&" "&Score(3) MsgBox Msg ' 第一次显示 4 个数组元素的内容

Page 43: 第2章  VBScript 基础

例 7:使用可变数组 Redim Preserve Score(5) Score(5)=100 Msg=Score(0) & " " & Score(1)& " " & _ Score(2) & " " & Score(3) & " " & Score(4) & "

" & Score(5) MsgBox Msg Redim Score(4) Score(4)=78 Msg=Score(0)&" "&Score(1)&" "&Score(2)&"

"&score(3) & " " & score(4) MsgBox Msg --></script></head><body></body></html>

重新定义数组,原来的数值都会被取消

重新定义数组,但用 Preserve保留数组数值

Page 44: 第2章  VBScript 基础

例 7:使用可变数组• 本例代码浏览时,首先显示如左图所示对话框。

当单击确定后显示如图的对话框 再单击确定后显示如下图的对话框

测试本例

Page 45: 第2章  VBScript 基础

多维数组•有时为了存放像矩阵这样的数据(即这些数据分成若干行,每行又分成若干列),需要定义一个二维数组,形式为:

Dim 数组名( m,n )•其中: m 表示数组元素的最大行号, n 表示数组元素的最大列号。例如:一个用于存放 3 行 4列的矩阵的数组定义形式如下:

Dim a1(2,3)•因为行号和列号的起始值为 0 ,所以行号最大值为 2 ,表示数组有 3 行,列号最大值为 3 ,表示数组有 4列。

Page 46: 第2章  VBScript 基础

2.4 运算符与表达式 • 运算符是表示要求进行的操作的符号,它是构成表达式的必要成分,数学运算符构成数学表达式,而比较运算符和逻辑运算符都构成逻辑表达式,以下分别讨论:

2.4.1 数学运算符 2.4.2 比较运算符2.4.3 逻辑运算符

Page 47: 第2章  VBScript 基础

2.4.1 数学运算符 • 常用的运算符有加、减、乘、除、整除、指数、余数和字符串连接运算,如表所示。

运算符 描述 例子 结果+ 加 12+3 15 — 减 12-3 9 * 乘 12*3 36 / 除 12/3 4 \ 整数除法 7\3 2 ^ 指数 12^3 1728

MOD 余数 20 MOD 3 2 & 字符串连接 “ 你” &“好神” “ 你好神”

Page 48: 第2章  VBScript 基础

关于字符串连接•注意:

“&” 是将两个字符串连接起来成为一个字符串的运算符,例如, Str1=“ 我要学习”, Str2=“VBScript 程序语言”, Strall=Str1&Str2 ,则 Strall 的值为“我要学习 VBScript 程序语言”。“+” 除了可以求两个数字的和外,还可以进行“字符串连接”。例如上例中“ Strall=Str1+Str2” 的结果和“ Strall=Str1&Str2” 完全相同。两个字符串连接时最好用“ &”运算符。

Page 49: 第2章  VBScript 基础

数学运算符使用例 •例 8:使用算术运算 <html><head><title>算术运算 </title><script language="VBScript"><!-- A=3 B=2 MsgBox "A=" & A & ": B=" & B & vbCrLf &_ "A+B=" & A+B & ": A/B=" & A/B & vbCrLf &_ “A\B=” & A\B & “: A MOD B=” & A MOD B & vbCrLf

&_ "A&B=" & A & B & vbCrLf--> </script></head><body></body></html>

Page 50: 第2章  VBScript 基础

例 8:使用算术运算•本例网页浏览时将首先显示如图对话框。它指出各表达式的值,接着显示空白的浏览器窗口。

测试本例

Page 51: 第2章  VBScript 基础

关于整除和取模•整除和取模运算结果为整数。若运算对象为实数,处理方法为,先对两个操作数进行四舍五入后再进行计算。•如: 5.5 \ 2.4 结果为 3 ,即先进行四舍五入,转化为 6\2 ,计算结果自然为 3 。•值得注意的是 0.5 四舍五入后的值为 0 ,

1.5四舍五入后的值为 2 , 2.5四舍五入后的值为 2 。

Page 52: 第2章  VBScript 基础

数学运算符使用例 •例 8:实数的整除运算 <html><head><script language="VBScript"><!--msgbox "5.6\2.4 的结果为 :" & 5.6\2.4 --></script></head></html>

测试本例

Page 53: 第2章  VBScript 基础

2.4.2 比较运算符• 比较运算符用于对两个表达式进行比较,根据结果返回“ True(真 )”或“ Flase(假 )” 。

运算符 描述 例子 结果= 等于 21+5=18+8 True

<> 不等于 21+5<>18+8 False < 小于 18+3<18 False > 大于 18+3>18 True

<= 小于等于 18+3<=21 True >= 大于等于 18+3>=21 True

Page 54: 第2章  VBScript 基础

2.4.3 逻辑运算符 •逻辑运算符将两个关系表达式或逻辑表达式连结起来,形成结果为“ True(真 )”或“ Flase( 假 )” 的表达式。• “最重要的逻辑运算符是 And”及” Or” 。

Page 55: 第2章  VBScript 基础

“ And”运算•“ And” 是两个运算对象都是 True 时,才返

回 True ,其余都返回“ False” 。如表所示:第一个操作数 第二个操作数 例子 返回值

True True 30>21 AND 50>40

True

True False 30>21 AND 50<40

False

False True 30<21 AND 50>40

False

False False 30<21 AND 50<40

False

Page 56: 第2章  VBScript 基础

“ Or”运算•“ Or” 是只要有一个运算对象是 True 时,就返回“ True” ,否则返回“ False” 。

第一个操作数 第二个操作数 例子 返回值True True 30>21 Or 50>40 True

True False 30>21 Or 50<40 TrueFalse True 30<21 Or 50>40 True False False 30<21 Or 50<40 False

Page 57: 第2章  VBScript 基础

逻辑运算使用举例例 10 :使用逻辑运算

<html><head><title>比较与逻辑 </title><script language="VBScript"><!--Msg1="15>12 AND 40>30 的值为 " & (15>12 AND 40>30)Msg2="15>12 AND 40<30 的值为 " & (15>12 AND 40<30)Msg3="15<12 Or 40>30 的值为 " & (15<12 Or 40>30) Msg4="15<12 Or 40<30 的值为 " & (15<12 Or 40<30)MsgBox Msg1 & vbCrLf & Msg2 & vbCrLf & Msg3 & vbCrLf &

Msg4--></script></head><body></body></html>

Page 58: 第2章  VBScript 基础

例 10 :使用逻辑运算•本例浏览时,正确情况下将显示如图所示的结果。

测试本例

Page 59: 第2章  VBScript 基础

2.5 常用函数 •在 VBScript 中,有许多函数,可以对字符串、变量值等进行操作,下面,只对一些常用的函数作一简单介绍。更详细说明请参照 VB手册。 1.字符串函数 2.转换函数 3.数学函数 4.日期函数 5.输入与输出函数 6.变体子类型判断函数

Page 60: 第2章  VBScript 基础

1 .字符串函数 • VBScript 有许多处理字符串的函数,这些函数包括:在字符串中查找子字符串,从字符串中提取一部分的函数,等等。

(1) ASC()返回第一个字符的 ANSI 代码(2) InStr()返回 str1 在 str2 的位置(3) Lcase() 用于将字符串中的大写字母转换为小写字母。(4) Left() 用于取出字符串左边的某些字符。格式: Left(字符串,个数 )例如: Left(“How are you”,3) 的结果为“ How”

Page 61: 第2章  VBScript 基础

1 .字符串函数 (5) Len() 用于计算某字符串的长度或某变量所占字节数。格式: Len(字符串 ) Len( 变量 )例如: Len(“How are you”) 的结果 11 。(6) Ltrim() 用于去掉字符串左边的空白部分。(7) Mid() 用于取出字符串中任意字符。格式: Mid(字符串,起始位置,个数 )例如: Mid(“How are you”,5,3) 的结果为“ are” 。(8) Right() 用于取出字符串中右边的一些字符。格式: Right(字符串,个数 )例如: Right(“How are you”,3) 的结果为“ you”

Page 62: 第2章  VBScript 基础

1 .字符串函数 (9) Rtrim() 用于去掉一个字符串的右边的空白部分。(10) cstr(number)返回 number 的字符形式。(11) StrComp(Str1,Str2)比较字符串 Str1 与 Str2(12) String()产生由指定字符组成的字符串。格式: String(重复个数, ASCII 码 ) String(重复个数,字符串 )例 如 : String(3,65) 和 String(3, “AB”) 都 产 生 字 符串“ AAA” ,因为“ A” 的 ASCII 码是 65 。(13)Ucase() 用于将字符串中的小写字母转换为大写字母。

Page 63: 第2章  VBScript 基础

2.转换函数 • 转换函数实现不同的内部类型间的转换。

(1)  Cbool 将表达式转换成布尔类型(2)  Cbyte 将表达式转换成单字节类型(3)  Cdate 将表达式转换成日期类型(4)  CDbl 用于将参数转换为双精度型数值。(5)  Chr 将代码转换成一个字符(6) Cint 将表达式转换成整数

Page 64: 第2章  VBScript 基础

2.转换函数 • 转换函数实现不同的内部类型间的转换。

(7) Clng 用于将参数转换为长整型数值。(8) Csng 用于将参数转换为单精度型数值。(9) Cstr 将表达式转换成字符串(10) Hex 将数值转换成十六进制字符串(11) Int 用于将参数转换为小于等于该参数的最大整数输出。(12) Fix 用于将参数的小数部分舍去,转化为整数输出。(13) Oct 将数值转换成八进制字符串(14) Val 将字符串转换成数值

Page 65: 第2章  VBScript 基础

3.数学函数 •用于进行常见的算术运算

(1) Sin() 用于求参数的正弦值,其中参数的单位为弧度。(2) Cos() 用于求参数的余弦值,其中参数的单位为弧度。(3) Tan() 用于求参数的正切值,其中参数的单位为弧度。(4) Atn() 用于求参数的反正切值,结果的单位为弧度。(5) Log() 用于求参数的自然对数值。(6) Exp() 用于求以 e 为底的指数值。(7) Sqr() 用于求参数的平方根值。(8) Abs()求绝对值。(9) Sgn() 符号函数。(10) Rnd()返回 0 到 1 之间的单精度随机数。

Page 66: 第2章  VBScript 基础

4 .日期函数 • 与日期有关的一些函数

(1) Date() 返回当前系统日期(2) DateSerial(y,m,d) 返回日期子类型(3) DateValue(string) 返回日期子类型(4) Day(date) 返回日期中的天(5) Hour(time) 返回时间中的小时(6) Minute(Time) 返回时间中的分(7) Month(Date) 返回日期中的月

Page 67: 第2章  VBScript 基础

4 .日期函数 • 与日期有关的一些函数

(8) Now() 返回当前日期及时间(9) Second(Time) 返回时间中的秒(10) Time() 返回当前系统时间(12) TimeSerial(h,m,s) 返回时间子类型(13) TimeValue(string) 返回时间子类型

Page 68: 第2章  VBScript 基础

5 .输入与输出函数 •主要包括以下两个函数:

(1) InputBox(Prompt) 提示用户输入一个字符串(2) MsgBox(Message) 给 用 户 显 示 一 条

Message 信息•对此后面将专门讨论

Page 69: 第2章  VBScript 基础

6 .变体子类型判断函数 •用于测试变体类型变量中存放的信息的内部类型。

(1) IsArray 若是数组,返回 TRUE(2) IsDate 若是日期,返回 TRUE(3) IsEmpty 若是没有值,返回 TRUE(4) IsNull 若是空值,返回 TRUE(5) IsNumeric 若是数字,返回 TRUE(6) IsObject 若是对象,返回 TRUE(7) VarType 将参数的类型作为一个数字返回

Page 70: 第2章  VBScript 基础

2.6 输入 / 输出• VBScript与用户之间的直接交互可通过

InputBox 函数和 MsgBox 过程来实现,也可以通过使用浏览器所支持的各种对象的有关方法来实现 ,以下分别讨论:1. InputBox 函数 2. MsgBox 函数 3. 文档的输出方法 4. 窗口的有关方法

Page 71: 第2章  VBScript 基础

1. InputBox 函数 •InputBox 函数以对话框的形式接受用户的输入,调用形式如下: InputBox( 提示 [,标题 ][,缺省输入 ][, x 坐标位置 ][, y 坐标位置 ])•其中:•“ 提示”:在对话框中作为信息显示的内容,可以是字符串表达式。若要显示的内容是多行的,必须在每行行末加回车 Chr(13) 和换行 Chr(10)控制符。该项不能缺省。•“ 标题”:可以是字符串表达式,它用以在对话框上显示标题。若缺省该项,则标题显示为 VBScript 。

Page 72: 第2章  VBScript 基础

1. InputBox 函数 •InputBox 函数以对话框的形式接受用户的输入,调用形式如下: InputBox( 提示 [,标题 ][,缺省输入 ][, x 坐标位置 ][, y 坐标位置 ])•其中:•“缺省输入”:该项指出,在输入对话框中初始显示的内容。•“ x坐标位置”、“ y坐标位置”:该两项应该是整型表达式,用于确定对话框左上角在屏幕上的位置,屏幕左上角为坐标原点。

Page 73: 第2章  VBScript 基础

1. InputBox 函数 •InputBox 函数的作用是打开一个对话框,等待用户键入文本或选择一个按钮。当用户单击“确定”按钮,函数返回文本框中输入的值,当用户单击“取消”按钮函数返回一个空串。

Page 74: 第2章  VBScript 基础

InputBox 函数举例 •例 11 :使用 InputBox进行输入

<html><head><title> 输入姓名的窗口 </title><script language="VBScript"><!-- Dim sMsg sMsg = " 请输入你的姓名 " & vbCrLf & "然后单击确定 " sname = InputBox(sMsg, " 输入姓名 ", , 500, 500) msgbox " 你的输入是 " & sname--></script></head></html>

Page 75: 第2章  VBScript 基础

例 11 :使用 InputBox进行输入•浏览结果•首先显示如图,当输入内容(如“张三”)后单击确定,显示如图。

提示内容

标题信息

测试本例

Page 76: 第2章  VBScript 基础

2. MsgBox 函数 •MsgBox 函数调用形式如下:

MsgBox( 提示 [ ,按钮 ][ ,标题 ])•其中:

“ 提示”和“标题”;意义与 InputBox 函数过程中对应的参数相同。“ 按钮”:该参数是一个整型表达式,用于指出信息框按钮的数目、类型及出现在信息框上的图标类型,其设置见下表

Page 77: 第2章  VBScript 基础

MsgBox 函数“按钮”设置值 分组 内部常数 按钮值 描 述 按钮数目

vbOkOnlyvbOkCancelvbAboutRetryIgnorevbYesNoCancelvbYesNovbRetryCancel

012345

只显示确定按钮显示确定、取消按钮显示终止、重试、忽略按钮显示是、否、取消按钮显示是、否按钮显示重试、取消铵钮

图标类型

vbCriticalvbQuestinonvbExclamationvbInformation

16324864

关键信息图标红色 STOP 标志访问信息图标?警告信息图标!信息图标 I

Page 78: 第2章  VBScript 基础

MsgBox 函数“按钮”设置值 分组 内部常数 按钮值 描 述 缺省按钮

vbDefaultbutton1vbDefaultbutton2vbDefaultbutton3

0256512

第一个按钮为缺省第二个按钮为缺省第三个按钮为缺省

模式 VbApplicationModaleVbSystemModel

040960

应用模式系统模式

四组方式可以组合使用(可以用内部常数形式或按钮值形式表示) 以系统模式建立的对话框显示时,所有的应用程序都将被挂起,直到用户响应了对话框。即不能切换到其它应用程序。

Page 79: 第2章  VBScript 基础

MsgBox 函数返回值 • MsgBox 函数返回所选按钮的整数值,其数值的意义见下表,

内部常数 返回值 被按下的按钮VbOK

VbCancelVbAboutVbRetryVbIgnore

VbYesVbNo

1234567

确定取消终止重试忽略

是否

若不需返回值,则 MsgBox 相当于一个过程。

Page 80: 第2章  VBScript 基础

MsgBox 函数使用举例 例 12 :使用 MsgBox进行输出 <html><head><title> 输出欢迎信息的提示框 </title><script language="VBScript"><!-- Dim sname Dim sMsg sMsg = " 请输入你的姓名 " + vbCrLf + "然后单击确定 " Do sname = InputBox(sMsg, " 输入姓名 ", , 500, 500) If sname = "张三 " Then MsgBox " 欢迎使用 " Exit Do

Page 81: 第2章  VBScript 基础

例 12 :使用 MsgBox进行输出Else

I = MsgBox(“ 用户名输入错误” , 5 + vbExclamation, “ 输入用户名” ) If I <> 4 Then Exit Do End If Loop--></script></head></html>

Page 82: 第2章  VBScript 基础

例 12 :使用 MsgBox进行输出•例中首先显示等待输入姓名的对话框,当用户输入姓名后,判断输入内容是否为“张三”,若不是,显示提示框如图所示提示。

测试本例

Page 83: 第2章  VBScript 基础

3. 文档的输出方法 • 在浏览器的对象集合中有一个称为文档

( Document )的对象,使用这个对象的write方法或 writeln方法可以将表达式的值象 html 文档中的其他文字那样显示。如例中所示。

Page 84: 第2章  VBScript 基础

文档的输出方法例 例 13 :文档的输出方法

<html><head><title>水平线 </title></head><body><script language="VBScript"><!-- document.writeln "我在水平线上面 " document.writeln "<HR width='90%' align='center'>"

document.write "我在水平线下面 "--></script></body></html>

Page 85: 第2章  VBScript 基础

文档的输出方法例 本例浏览时,运行结果如图

测试本例

Page 86: 第2章  VBScript 基础

4. 窗口的有关方法• 窗口作为浏览器的最外层对象,它有一些方法可以使用,通过窗口的有关方法可以实现信息的显示和输入。 •关于浏览器对象的有关内容,将在后面进一步讨论

Page 87: 第2章  VBScript 基础

窗口的有关方法使用举例例 14 :窗口的输出方法

<html><head><title> 输出欢迎信息的提示框 </title><script language="VBScript"><!-- alert " 欢迎使用 " confirm " 你好吗? " name=prompt(" 请输入姓名 ","张三 ") alert " 你输入的姓名为: " & name--></script></head></html>

Page 88: 第2章  VBScript 基础

窗口的有关方法使用举例•其中:

– alert 是窗口对象的一个方法,用于显示提示信息。本例中显示“欢迎使用”。– Confirm 显示包含两上按钮的提示框,单击确定按钮时返回 True ,否则返回 False 。– Prompt 给出一个输入文本的提示窗口,等待用户输入,格式为:

变量名 =Prompt (“ 提示” , “ 缺省值” )

Page 89: 第2章  VBScript 基础

窗口的有关方法使用举例•本例代码在浏览时,将首先显示图。

•单击确定后显示如图

•此时不管理选择什么都会显示如上图输入框•最后显示如右图

测试本例

Page 90: 第2章  VBScript 基础

本章小结 • 本章讨论了脚本语言 VBScript基本语言成分,包括:常量、变量、运算符、表达式、常用函数及输入输出操作。这是学习以后各章内容的基础。表达式的运算、输入输出的实现方式等内容是学习本章后必须掌握的内容。

Page 91: 第2章  VBScript 基础

习题 —. 是非题

( ) 1.VBScript 程序语言是 Microsoft 公司将 VB(Visual Basic)程序语言加以简化,所衍生出来的程序语言。( ) 2.html 也有所谓如” IF…Then…” 的判断语句。( ) 3.VBScript 的注释符号为” //” 。( ) 4.VBScript 的程序代码很难保密,容易被偷窥。 ( ) 5. 常数是一种不会改变的数,定义常数要使用“ Dim 常数名称”。( ) 6.运算符“ +” 也可以用来连接字符串。( ) 7.运算符 “ Mod” 可以算出除法结果中的整数。( ) 8.VBScript 中次方的算法是使用“ ^” 。 ( ) 9.“30<1OR 5>4“ 计算机的结果” False”.

Page 92: 第2章  VBScript 基础

习题 二.操作题

1.设计一个 VBScript 程序,能计算出边长为 5公分的正方形面积,并显示出计算结果,如图所示。

Page 93: 第2章  VBScript 基础

习题 二.操作题

2.设计一个 VBScript 程序,能比较边长为 5公分的正方形和半径为 5公分的圆形哪个面积比较大,如果圆形比较大,就显示“ True” ,若正方形比较大,就显示“ False” ,如图所示。

Page 94: 第2章  VBScript 基础

习题 二.操作题

3.设计一个程序,计算出边长为 5公分的正方形和半径为 5公分的圆形的面积差,并显示出来,如图所示。