两种循环方式同样是各有所长的,我们也应该根据实际情况来决定用哪种方式,千万不能生搬硬套。
自定义函数包括子程序和函数两部分,它们两者的区别在于函数有返回值,而子程序没有。从本质上来说,两者没有太大的区别。
我们先来举一个例子来说明一下子程序:
<Script language="vbscript">
<!--
option explicit
dim a
sub age()
a=inputbox("请输入你的年龄:")
end sub
age
msgbox a
-->
</script>
此例把输入年龄这个功能做成一个子程序,在主程序里调用,调用的格式也很简单,只要写出子程序的名字即可,就象调用一个内部命令一样省事。
函数和子程序类似,只是它能够返回一个值。我们来编一个求两个数中较大值的函数:
dim a,b,c
a=10
b=20
c=max(a,b)
msgbox c
function max(x,y)
if x<y then
max=y
else
max=x
end if
end function
此例中的max()函数即是我们自己编写的求较大值的函数,它里边有两个参数,使用时只要放入两个参数就可以了。还有一点要注意的是函数的返回格式:我们的函数名是max,最后只要写上max=…就可给这个函数一个返回值了。
到此,我们介绍了VBScript的大部分的语法内容,这部分虽然没有什么意思,但是它是你的其它工作的前提,如果没有坚实的语法基础,其它什么工作都做不好,希望大家能够多多地练习。
- VBScript中的对象:
VB是一门面向对象的程序语言,VBScript也不例外(起码它用到了对象的概念)。面向对象给编程带来了很多的益处,这在VBScript中也得到了体现。
1.象VB一样,我们可以在窗体上加上命令按钮、文本框等控件(对象),如果你使用的是FrontPage,那你的工作量很小,只要按照所见即所得的风格将控件摆放在正确的位置就可以了,如果你想用记事本等编辑器直接编辑网页,那你可要费一番力气。
在介绍其它对象之前,我先来说一个比较特殊的对象:定时器。它的作用是每隔一段时间就去执行一件事情,如果你学习过VB,这将是非常容易理解的。定时器的属性主要是:Enabled、Interval,Enabled表示它是否可用,而Interval是指每隔多长时间事件发生一次,它的单位是1/1000秒。
如果要加入一个定时器,最好选用FrontPage。在菜单中选择Insert-Advanced-ActiveX Control后,就会弹出一个对话框,在下拉菜单中就可以找到Timer Object。有一点千万不能忘记,就是要给它取一个名字,否则你是无法使用的。你还可以点击属性钮对其Enabled、Interval属性进行设置。现在我们来加入一个名字为"tmrLbl"时间间隔为200毫秒的定时器,在HTML的源代码中将会出现下列代码:
<object ID="tmrLbl" WIDTH="39" HEIGHT="39"
CLASSID="CLSID:59CCB4A0-727D-11CF-AC36-00AA00A47DD2">
<param name="_ExtentX" value="2064">
<param name="_ExtentY" value="2302">
<param name="Interval" value="200">
</object>
只要看一眼,就会知道用手工编写的难度了。
现在仅仅是有了一个定时器,我们还必须对它的事件进行编码,才能使用它。定时器有一个事件叫作"Timer"。每隔一段时间,就会把这个事件中的事情执行一遍。我们可以对它编程如下:
<script LANGUAGE="VBScript">
<!--
Sub tmrLbl_Timer()
Msgbox "欢迎!"
end sub
-->
</script>
请稍等片刻,先把定时器的Interval属性的值调的大一些,2000或更大,否则你会以为是病毒发作了。此程序可以每隔一段时间内出现一个对话框,显示“欢迎”字样,如果你把时间设为200,那么你可能还来不及反应,就会出现下一个对话框,结果是你不能关闭对话框,浏览器也不能关上,因此有必要把时间间隔调的大一些,使你有时间去结束它。
- 标签:
用和加入定时器同样的方法来加入两个标签(Microsoft Forms 2.0 Label),并取名为lblYu0和lblYu1,它们的字体可以设置的大一些,这样以便于观察,将将两个标签的Caption属性设为"Y"和"U"(设置方法同定时器控件)。然后再对定时器重新进行编程:
<script LANGUAGE="VBScript">
<!--
Sub tmrLbl_Timer()
lblyu0.forecolor=rgb(255*rnd,255*rnd,255*rnd)
lblyu1.forecolor=rgb(255*rnd,255*rnd,255*rnd)
end sub
-->
</script>
先看一下效果,嗯,不错!然后我们再来分析一下这段程序。我们用到了标签控件的前景颜色属性:ForeColor,只要对它进行改变,就可以改变标签的颜色,正如你所见。
RGB()是一个颜色函数,它有三个参数,分别表示红、绿、蓝三色的比例,0表示没有,255表示全色。要表示红色可写成RGB(255,0,0),即将红色的比例置为100%,而其它两种颜色均没有。那么要表示白色呢,即为RGB(255,255,255),黑色呢,读者可以自己考虑一下。
还有一个是“Rnd”,它表示产生一个从0至1之间的随机数,如果用Rnd*255,就可以表示出从0到255之间的随机数了。
因此上例可以显示出颜色随机变化的标签了。如果你有耐心,可以调试出更加漂亮的标签来。
3.Window
“窗体”(Window),即浏览器打开的窗口。它的对象名是Window ,它的一个重要的属性就是Status,也就是浏览器底下的状态条,这样我们就可以让状态条显示我们自己的信息了。
如果我们这样写:Window.status="于爱武的个人主页",那么窗体的状态条上就会显示相就的字符串。
Window对象有两个事件OnLoad 和OnUnLoad。加入以下代码:
<Script language="vbscript">
<!--
option explicit
sub window_onload()
msgbox "欢迎光临"
end sub
sub window_onunload()
msgbox "欢迎再来"
end sub
-->
</script>
这样,每当打开这个网页的时候,就会显示“欢迎光临”的提示信息,而当退出这个页面的时候,则会显示“欢迎再来”的告别语。
- 控件数组
在上面介绍变量的类型的时候提到了VBScript可以定义数组,在这里你将看到数组的类型甚至可以是控件。就是标签为例,我们在窗体上来建立10个标签,分别命令名lblYu0至lblYu9,它们的Caption属性分别设为“欢”、“迎”、“光”、“临”、“我”、“的”、“个”、“人”、“主”、“页”,然后就向上面的例子一样,再加入一个定时器,并对定时器进行编码:
<script LANGUAGE="VBScript">
<!--
Dim a(9)
Set a(0)=lblYu0
… (省略)
Set a(9)=lblYu9
Sub tmrLbl_Timer()
For I=0 to 9
A(I).forecolor=rgb(255*rnd,255*rnd,255*rnd)
Next
end sub
-->
</script>
当然,如果不用数组,也完全可以实现,但是要多写很多代码,而且不便调试。
六.总结
我在上面曾多次提到FrontPage的使用,的确,它是个不错的东东,我们可用它轻松的插入控件,并可以实现VBScript脚本语言的编写,如果多多练习,肯定会使你达到事半功倍的效果。
我们已经把VBScript的内容大致的浏览了一遍,这些已经可以让你在网上小试身手了。当然如果你想成为真正的高手,这点是不够的,还要继续“深造”才行。
上一页 [1] [2] [3] 没有相关教程
|