VBS语言基础教程
2013-7-14
六、循环语句
• 从上面的程序总结如下: • 1、大小写无所谓(有语言不行,如C、C#、java 等) • 2、变量第一次使用时值为空 • 3、变量赋值多次时,其值为最后一次赋的值。 • 4、s=s+a表示,s在原值的基础上加上a的值。
2013-7-14
六、循环语句
• • • • • • • For i=1 to 5 a=int(inputbox(“请输入数据”)) s=s+a next (分析程序运行过程及最后i的值) 注意问题: 死循环
2013-7-14
七、数组
• • • • • • • dim a(9) For i=0 to 9 a(i)=inputbox("请输入第"&i&"个数据") Next For i=9 to 0 step -1 msgbox(a(i)) Next
2013-7-14
练习5
• 1、现有字符串“10\12\34\23\45\35\45”,根据字 符“\”分割字符,计算各字符的总和。 • 提示: • split函数 • 传回数组 = Split(原始字串, 要找的字串, 拆成几个 数组) • t= “10\12\34\23\45\35\45” • a=split(t,”\”) • 相当于a(0)=10 a(1)=12 ***
• • • • • • • • • 语法: If(条件1) then 执行语句1 Elseif(条件2) then 执行语句2 *** Else 执行语句n End if
2013-7-14
练习2
• 1、制作一个成绩判断程序:弹出一个输入框,输 出该成绩等级。(成绩小于0分或大于100分,出 错;成绩大于或等于85分为优秀;成绩在0-59 分之间的为不及格;60-70为及格;71-84分的 为良) • 测试数据为-20,0,59,60,61,70,71,84, 85,100, 120查看结果是否满足程序要求
• 复习运算符
2013-7-14
六、循环语句
• • • • do while条件 执行语句 loop 例:s=1+2+3+*** +n,问到当s<=50时,n的值是 多少? • while(条件) • 执行语句 • wend
2013-7-14
六、循环语句
• 循环嵌套: • for i=1 to 10 • for j=1 to 5 • msgbox(“i的值为”&i&” j的值为”&j) • next • next
2013-7-14
五、条件语句
• • • • • • • • • 语法: 1、 If(条件) then 执行语句 end if 例: If(score>100) then Msgbox(“成绩出错”) End if
• • • • • • 2、 If(条件) then 执行语句1 else 执行语句2 end if
2013-7-14
九、VBS运行外部命令
• 1、打开记事本 • 下面的 vbscript 代码用记事本打开当前运行脚本 的副本。 • set wshshell = script.createobject("wscript.shell") • wshshell.run "%windir%\notepad "
2013-7-14
六、循环语句
• • • • • • • • • • • • • 某一语句需要执行许多次的时候使用 例如,产生五个对话框,对这五个对话框的数求和 a=int(inputbox("请输入数字")) s=s+a A=int(inputbox("请输入数字")) s=s+a a=int(inputbox("请输入数字")) S=s+a a=int(inputbox("请输入数字")) s=s+a a=int(inputbox("请输入数字")) s=s+a msgbox("这几个数的和为"&s)
2013-7-14
六、循环语句
• • • • • 思考: For i=1 to 5 a=int(inputbox(“请输入第n个数据”)) s=s+a next
2013-7-14
练习3
• 1)水仙花数是指一个 n 位数 ( n≥3 ),它的每个位 上的数字的 n 次幂之和等于它本身。(例如: 1^3 + 5^3 + 3^3 = 153) • 提示: • 153 个位数为3 十位数为5 百位数为1 • 236 个位数为6 十位数为3 百位数为2
2013-7-14
八、VBS对文件的读写操作
• • • • • • • • • • • • • data=”hello, I like script programing” set fs =createobject(“scripting.filesystemobject”) if (fs.fileexists(“c:\2.txt”)) then set f =fs.opentextfile(“c:\2.txt”,8) f.write data f.writeline data f.close else set f=fs.opentextfile(“c:\2.txt”,2, true) f.writeblanklines 2 f.write data f.close end if
2013-7-14
八、VBS对文件的读写操作
• textstream对象的atendofstream属性。当处于文 件结尾的时候这个属性返回true.我们可以用循环 检测又没有到达文件末尾。例如: • set fs =createobject(“scripting.filesystemobject”) • set f=fs.getfile(“c:\1.txt”,1,false) • set ts=f.openastextstream(1,0) • do while ts.atendofstream<>true • f.read(1) • loop
2013-7-14
一、概述
• 基本分为3大类应用: • 1、vbs可以做网页控制脚本,做页面特效,但是 只支持ie浏览器。 • 2、vbs可以写ASP,在服务器端运行。查询数据 库,输出ASP网页 • 3、Windows Script Host,一个文本文件,后缀 命名成.vbs是可以直接在windows里运行的,常 被病毒作者做成恶意代码。也可以写一些小的应 用,比如一级考试系统安装,一切傻瓜化完成。
2013-7-14
练习1
• 1、制作一个求长方体体积小程序,分别弹出三个 输入框,分别输入长、宽、高,弹出对话框显示 出体积 • 2、 编一个程序, 计算圆形的面积, 半径由用户给 出 (使用Inputbox) PI取值3.14159
2013-7-14
五、条件语句
• 程序在某种条件执行的时候就要用到条件语句
2013-7-14
一、概述
• 优点: • 编写简单 • 功能强大
2013-7-14
二、变量
• • • • • 盛放数据的容器。占用一定的内存空间。 a=12 b=“你好!” 可事先定义变量,如: dim c
2013-7-14
三、对话框
• • • • 1、输入框 a=inputbox(“请输入第一条边的边长”,”第一条边”) 2、输出框 Msgbox(“输入错误!”)
2013-7-14
八、VBS对文件的读写操作
• skip(x) 跳过x个字符 • skipline 跳过一行
2013-7-14
八、VBS对文件的读写操作
• • • • 3、写文件 可以用forwriting和forappending方式来写 写有3各方法: write(x) ,该方法输出不换行,需要使用chr(13)换 行 • writeline ,该方法自动换行 • writeblanklines(n) 写入n个空行
2013-7-14
九、VBS运行外部命令
• 2、执行CMD命令 • 下面的 vbscript 代码打开一个命令窗口,将路径 改为 c:\,并执行 dir 命令。 • dim oshell • set oshell = wscript.createobject ("wscript.shell") • oshell.run "cmd /k "
2013-7-14
练习2
• 1、制作一个成绩判断程序:弹出一个输入框,输 出该成绩等级。(成绩大于85分为优秀,否则为 不优秀) • 2、制作一个三角形判断程序:分别弹出三个输入 框,分别输入三条边的长度,弹出对话框显示该 三角形是否为三角形。(任意两边之和大于第三 边)
2013-7-14
五、多重条件语句
2013-7-14
八、VBS对文件的读写操作
• • • • • • • • • • • 2、读取文件 读取文件的方法有三个 read(x)读取x个字符 readline读取一行 readall全部读取 例如: set fs =createobject(“scripting.filesystemobject”) set ts=fs.opentextfile(“c:\1.txt”,1,true) value=ts.read(20) line=ts.readline contents=ts.readall
2013-7-14
八、VBS对文件的读写操作
• • • • •
• • • •
1、打开文件 使用opentextfile方法 set fs =createobject(“scripting.filesystemobject”) set ts=fs.opentextfile(“c:\1.txt”,1,true) 注意这里需要填入文件的完整路径,后面一个参 数为访问模式;也可不输入路径,则打开当前目 录下文件 1为forreading 2为forwriting 8为appending 第三个参数指定如果指定文件不存在,是否创建。