VBS为什么运行时,是未结束的vb判断是否包含字符串串常量?

很简单,ok,让我们来举两个简单的例子:

◎Vbs脚本编程简明教程之十三 —使用dictionary对象
VBS
中存在一个特殊的对象-dictionnary,是一个集合对象。一般情况霞,我把这个特殊的集合想象为数组,可以使用其中内建的函数完成存储和操纵数据等基本任务,无须担心数据是在哪些行列,而是使用唯一的键进行访问或者是一个只能运行在内存中的数据库,并只有两个字段分别是:key和item,在使用中,字段key是索引字段。

这个脚本很简单,就是定义了一个 dictionary 对象的实例sdict,并加入了三条数据,然后对每一条数据进行了枚举,最后,将对象的实例清空。

Item(key) 设定或返回指定的键的条目值

◎Vbs脚本编程简明教程之十四—VBS内置函数
Abs
函数:返回数的绝对值。

Array 函数:返回含有数组的变体。

Asc 函数:返回字符串首字母的 ANSI 字符码。

Atn 函数:返回数值的反正切。

CBool 函数:返回已被转换为 Boolean 子类型的变体的表达式。

CByte 函数:返回已被转换为字节子类型的变体的表达式。

CCur 函数:返回已被转换为货币子类型的变体的表达式。

CDate 函数:返回已被转换为日期子类型的变体的表达式。

CDbl 函数:返回已被转换为双精度子类型的变体的表达式。

Chr 函数:返回与指定的 ANSI 字符码相关的字符。

CInt 函数:返回已被转换为整形子类型的变体的表达式。

CLng 函数;返回已被转换为Long子类型的变体的表达式。

Cos 函数:返回角度的余弦。

CreateObject 函数:创建并返回对“自动”对象的引用。

CSng 函数:返回已被转换为单精度子类型的变体的表达式。

CStr 函数:返回已被转换为字符串子类型的变体的表达式。

Date 函数:返回当前系统日期。

DateAdd 函数:返回的日期已经加上了指定的时间间隔。

DateDiff 函数:返回两个日期之间的间隔。

DatePart 函数:返回给定日期的指定部分。

DateSerial 函数:返回指定年月日的日期子类型的变体。

DateValue 函数:返回日期子类型的变体。

Day 函数:返回日期,取值范围为 1 至 31。

Eval 函数:计算表达式并返回结果。

Exp 函数:返回 e (自然对数的底) 的多少次方。

Filter 函数:根据指定的筛选条件,返回含有字符串数组子集的、下限为 0 的数组。

Fix 函数:返回数的整数部分。

FormatCurrency 函数:返回的表达式为货币值格式,其货币符号采用系统控制面板中定义的。

FormatDateTime 函数:返回的表达式为日期和时间格式。

FormatNumber 函数:返回的表达式为数字格式。

FormatPercent 函数:返回的表达式为百分数(乘以 100)格式,后面有 % 符号。

GetObject 函数:返回从文件对“自动”对象的引用。

GetRef 函数:返回对能够绑定到一事件的过程的引用。

Hex 函数:返回一字符串,代表一个数的十六进制值。

Hour 函数:返回表示钟点的数字,取值范围为 0 至 23。

InputBox 函数:在对话框中显式一提示,等待用户输入文本或单击按钮,并返回文本框的内容。

InStr 函数:返回一个字符串在另一个字符串中首次出现的位置。

InStrRev 函数;返回一个字符串在另一个字符串中出现的位置,但是从字符串的尾部算起。

Int 函数:返回数的整数部分。

IsDate 函数:返回 Boolean 值,反映表达式能否转换为日期。

IsEmpty 函数:返回 Boolean 值,反映变量是否已被初始化。

IsNumeric 函数:返回 Boolean 值,反映表达式能否转换为数字。

IsObject 函数:返回 Boolean 值,反映表达式是否引用了有效的“自动”对象。

Join 函数:返回通过连接许多含有数组的子串而创建的字符串。

LBound 函数;返回指定维数数组的最小有效下标。

LCase 函数:返回的字符串已被转换为小写字母。

Left 函数:返回字符串最左边的指定数量的字符。

Len 函数:返回字符串中的字符数或存储变量所需的字节数。

LoadPicture 函数:返回图片对象。只用于 32 位平台。

Log 函数:返回数的自然对数。

LTrim 函数;返回去掉前导空格的字符串。

Mid 函数:从字符串中返回指定数量的字符。

Minute 函数:返回分钟数,取值范围为 0 至 59。

Month 函数:返回表示月份的数,取值范围为 1 至 12。

MonthName 函数:返回表示月份的字符串。

MsgBox 函数:在对话框中显示消息,等待用户单击按钮,并返回表示用户所击按钮的数值。

Now 函数:返回计算机的当前系统日期和时间。

Oct 函数:返回表示该数八进制数值的字符串。

Replace 函数:返回一字符串,其中指定的子串已被另一个子串替换了规定的次数。

RGB 函数:返回代表 RGB 颜色值的数字。

Right 函数:返回字符串最右边的指定数量的字符。

Rnd 函数:返回随机数。

Round 函数:返回指定位数、四舍五入的数。

RTrim 函数:返回去掉尾部空格的字符串副本。

ScriptEngine 函数:返回反映使用中的脚本语言的字符串。

Second 函数:返回秒数,取值范围为 0 至 59。

Sgn 函数:返回反映数的符号的整数。

Sin 函数:返回角度的正弦值。

Space 函数:返回由指定数量的空格组成的字符串。

Split 函数:返回下限为 0 的、由指定数量的子串组成的一维数组。

Sqr 函数:返回数的平方根。

StrComp 函数:返回反映字符串比较结果的数值。

String 函数:返回指定长度的重复字符串。

StrReverse 函数:返回一字符串,其中字符的顺序与指定的字符串中的顺序相反。

Tan 函数:返回角度的正切值。

Time 函数:返回表示当前系统时间的“日期”子类型的“变体”。

TimeSerial 函数:返回含有指定时分秒时间的日期子类型的变体。

TimeValue 函数:返回含有时间的日期子类型的变体。

Trim 函数:返回去掉前导空格或尾部空格的字符串副本。

TypeName 函数:返回一字符串,它提供了关于变量的变体子类型信息。

UBound 函数:返回指定维数数组的最大有效下标。

UCase 函数:返回的字符串已经被转换为大写字母。

VarType 函数:返回标识变体子类型的数值。

Weekday 函数:返回表示星期几的数值。

WeekdayName 函数:返回表示星期几的字符串。

Year 函数:返回表示年份的数值。

◎Vbs脚本编程简明教程之十五——响应事件

什么是事件?在我看来,事件就象我们手机上的闹钟,闹钟一响,我们就要去做某些特定的事情。或者这样说,事件就像警钟,当程序运行时,有特殊的事情发生,就会激发事件,事件本身就是一条消息,如果你编写的脚本要对事件进行处理,就需要一个特殊的过程或者函数来接受和处理事件。那么这个特殊的过程或者函数在程序运行时,就不断的监听,看系统是否传来了相应的事件,一旦接受到事件,脚本对此作出反应。

那么事件是从那里来的呢?是否需要我们在脚本中对事件进行编写呢?一般情况下,事件是某个程序在运行中的特殊状态发出的,我们不需要对事件进行编写,只需要编写处理事件的函数。比如说我们用vbs建立了ie的一个实例,那么当ie的窗口被关闭的时候,就会激发出一个叫做OnQuit的事件。

是不是脚本自然而然就能接受事件并进行处理呢?我们说不是的,在创建对象的时候,我们将使用WSH的createobject命令,例如:

注意到了吗?多了一个参数,这个参数的作用是什么呢?它叫做事件接收端,当脚本连接的对象包含事件时,如果对象调用的事件是OnBegin,那么WSH将会在脚本中调用一个event_OnBegin的事件处理程序。当然事件接受端并不是固定的,如果对象将其定义为MyObj_的话,那么事件处理程序将是:MyObj_OnBegin。

是否很熟悉?在打造个性化QQ一讲中,曾经出现过Window_OnSize(cx,cy)函数,它其实就是一个事件处理程序。

让我们来举个实际的例子完整的看看事件的处理过程:

这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。

qtp测试:vbs对于文本的读写

《完整的VBS教程(超级实用)》由会员分享,可在线阅读,更多相关《完整的VBS教程(超级实用)(22页珍藏版)》请在人人文库网上搜索。

1、很好的 VBS 教程(带实例)推荐第一篇:讲一下 VBScript。 主要面向菜鸟, 懂得编程的朋友就不要浪费时间了, 如果你想接触以 下 VBScript也可以。但既然有编程基础推荐直接去找一些参考书来读。会比较快。什么是 VBScript 呢? VBScript 的全称是:Microsoft Visual Basic Script Editon.( 微软公司 可视化 BASIC 脚本版)。正如其字面所透露的信息,VBS(VBScript 的进一步简写)是基于 VisualBasic 的脚本语言。 我进一步解释一下, Microsoft Visual Basic 是微软公司出品的一套可视化

2、编程工具,语法基于 Basic.脚本语言,就是不编译成二进制文件,直接由宿主(host)解释源代码并执行,简单点说就是你写的程序不需要编译成.exe,而是直接给用户发送.vbs 的源程序,用户就能执行了。我知道菜鸟现在最关心的就是用什么工具来开发VBS 程序了,答案是:记事本(Notepad).我不是开玩笑,其实任何一种文本编辑器都可以用来开发VBS 开发,只不过记事本是由系统自带的,比较好找而已.尽管如此,我还是建议你去下载一个专业的文本编辑器,因为这 些工具可以提供语法高亮等功能,更加方便开发,用哪一个随你喜好,我比较喜欢 Edit Plus(2.10).OK,我们先来写一个 VBScri

为扩展名的文件(保存类型里面选择所有文件).然后双击运行,观察运行结果.注意:请自己输入程序清单,不要复制-粘贴!我来解释一下这个程序,第一行和第二行的开头分别是REM语句和,这两个东西的作用是相同的,表示本行是注释行,就是说这两行什么也不干,只是用来说明这段程序的功能,信息等等.注释行是程序最重要的部分之一,尽管它不是必需的

4、,但对于其他人阅读 源代码,以及自己分析源代码是很有好处的.好的习惯是在必要的地方加上清晰,简洁的注释。Dim 用来声明一个变量,在 VBS 中,变量类型并不是那么重要,就是说VBS 会帮你自动识别变量类型,而且变量在使用前不一定要先声明,程序会动态分配变量空间.在 VBS 中你不用考虑 name 储存的是一个整数还是一个小数(学名叫”浮点数),也不用考虑是不是字符串(一串字符,比如:Hello World),VBS 会自动帮你搞定.所以第三行语句可以删除,效 果不会变,但我强烈反对这么做,一个变量的基本原则就是:先声明,后使用.变量名用字母开头,可以使用下划线,数字,但不能使用 vbs 已经

5、定义的字,比如 dim,也不能是纯数字。下一行被称之为”赋值,=是赋值符号,并不是数学中的等于号,尽管看起来一样是正统的理解,你要理解成等于也没有什么不可赋值号的左边是一个变量,右边是要赋给变量的值,经过赋值以后,msg 这个变量在程序中等同于”请输入你的名字:这个字符串,但当 msg 被再次复制的时候,原值就会消失.不光字符串,其他任何变量都这样被赋值,例如:a=2,b=12.222 等等。再往下,Inputbox 和 Msgbox 是 VBS 建的函数,一个函数就相当于一个”黑箱,有输入(参 数)和输出(返回值),你可以不用了解函数是怎么运作的,只要了解这个函数能干什么就行了,我们也可以定

6、义自己的函数,不过那要等到以后再讲现在我们只要了解,一个函数可以有返回值也可以没有,可以有参数也可以没有.例如 Inputbox 就是有返回值的函数,我们用赋值号左边的变量来接住 InputBox 的返回值-就是你输入的容.在 inputbox 右边的括号里 是参数列表,每个参数用,分隔开,每个参数有不同的功效,比如第一个参数会显示在提示里,我们把 msg 这个变量作为第一个参数传给了Inputbox 函数,而 msg=请输入你的名字:,所以我们在对话框的提示栏就会看到“请输入你的名字:”第二个参数是对话框的标题,我们用直接量(学名叫”常量”,这里是”字符串常量”)传递给函数,当然你也可以传递

7、变量Inputbox 还有很多参数,比如你在名称后面再加一个,然后输入随便一串字符(字符串,用 双引号包裹起来的一串字符叫做字符串)然后运行,看看结果你会发现用于输入的文本框 有了默认的值,这就是第三个参数的作用。Msgbox 函数是用来输出的函数,在VBS 中没有专门的输出函数 (BASIC 中的 print,C 中的 printf),所以我们只能用对话框来观察输出结果,Msgbox 的必要参数只有一个,就是要输出的容,在这种情况下,我们不需要理会 msgbox 的返回值.关于 Msgbox 和 Inputbox 我 们以后还会在讨论,今天只是热热身,到此为止要点:1)注释(以 REM 或开

8、头)行在程序中不起作用,但能让别人更容易读懂你的程序2)变量好像一个盒子,或一个代号,可以代表你想代表的东西.变量赋值使用=3)以包裹起来的字符称之为”字符串”4)函数像一个”黑箱,有参数和返回值,用=左边的变量可以接住返回值5)Inputbox 函数弹出一个输入对话框,Msgbox 则用于输出作业:1)试验 Inputbox 的第三个参数2)写一段程序输出你的年龄3)写一段程序进行 3 次输入,分别输入你和你父母的(要求显示提示),并分 3 次输出。第二篇:我真没想到,第一次的作业竟然有人不会。看来要讲的非常非常细致才行,嗯,今天讲各种“量”和基本运算。先说常量,这个比较简单。什么是常量呢,

9、常量就是其值不可变化的量。常量分为两种:第一种,自然常量。这叫是因为它们本身就是常量,你怎么更改21 的值呢?他永远都是 21,不可能变成 46。如果你在程序中使用2 仁 46,这样的语句将会引发一个错误。同样的,字符串也是常 量(还记得字符串吗?就是包裹在之间的一串字符),Hello World就是一个例子,如果你 使用HelloWorld=Bye这样的语句同样会引发一个错误。你能举出自然常量的更多例子 吗?第二种,是我们自己定义的常量,这种量也使用代号,他们也被赋值,但和变量的不同点在于,他们在定义的时候被赋值,以后就不能改变了,如果企图改变将会引发一个错误。 定义一个变量,我们使用con

10、st这个关键字(关键字的意思是系统定义了有特殊功能的字,不能作为变量名或常量名使用),格式是:const 常量名=常量值例如:con st Pl=3.1415926con st NAME=记忆碎片”这样我们就定义了两个常量,PI 和

msgbox(hw)这样当你要修改输出的时候只要修改hw 的值就行了。好了,现在我们来看看编程的第一块重要“基石”:变量。解释变量最好的办法我觉得是“盒子”,一个变量好像一个盒子,里面只能装一个东西,当你要装进去别的东西的时候必须 把原有的东西拿出来。这个“盒子”是有名

12、称的,当你在程序中使用变量的时候,系统会打开 盒子取出里面的东西,让这些东西参与处理,而不是盒子。有些语言是很依赖“盒子”里面装 些什么东西,这样才能找到合适的“盒子”(比如 C 语言),但 VBS 给我提供的是能够自动伸 缩的“魔术盒”,我们不用关心装进去的是什么东西,VBS 会自动调整盒子的大小。例如:Dim a1,a2,a3a1=14a2=12.23a3=Hello而不用像

13、s strniga1=14; a1=14a2=12.23; a2=12.23a3=Hello; a3=Hello嗯扯远了变量有什么用呢?哇,那用处可大了。最简单,你并不能确定程序运行时变量的值,比如前一节课我们编的输入的程序,你不能确定InputBox 返回的是什么(还记得Inputbox 的返回值吗?就是你输入的容),所以你就没有办法应对各种情况,但我们用 name 这个“盒子”把用户的名字装起来,到用的时候我们只要知道name 这个盒子的名字就行了,系统会自己打开他并把里面的容拿出来用。再举个例子,我们编写一个程序计算一个矩形的面积,比如这个程序要发给小学生使用:dim a,b,sa=15

14、b=12s=a*bmsgbox(s)这样就可以求出长为15,宽为 12 的矩形的面积了,是不是很简单?当然,这个程序也可以这样写:dim s s=15*12这样当你要修改输出的时候只要修改hw 的值就行了。msgbox(s)这样看起来程序短了许多,也节约存,但并不是鼓励的做法,为什么?请看下面。现在,我们的程序要变得像点样子才行,谁的程序写出来还要别人修改源代码才能用 啊?所以,我们要接受用户的输入,还记得吗?InputBox 函数。修改后程序如下:dim a,b,sa=inputbox(请输入矩形的长:)b=inputbox(请输入矩形的宽:) s=a*bmsgbox(s)OK,这么一修改,

15、无论用户输入怎样的数据,我们都能计算出矩形的面积了。如果你 用 s=15*12能改嘛?当然不行。我想你已经发现了, vbs 中的数学计算和真正的算术没有什么不同,+,-,*,/,(),都是一样的用法,比如:dim ansan s=12+32/4+(23-10)*2msgbox(a ns)四则运算的法则在编程中同样生效,你可以在编程中重新获得小学时候的乐趣(你恨数学?那就别学电脑了)。在编程中有一个有趣的运算符是mod,这个运算符叫做取余运算符”,就是取得一次除法的余数,例如:dim aa=16 mod 5你知道 a 等于几吗? Bin go!没错,就是 1。因为 16 / 5 =3 1,所以

16、mod 计算的结果 就是 1。还有一个运算符是A(就是键盘“6”上面的小箭头),他表示“乘幕”(或者是“方”,)比如:dim a,b,c a=2 b=aA2c=aA3这样当你要修改输出的时候只要修改hw 的值就行了。msgbox(a)msgbox(c) 贝 U b=a*a=4 , c=a*a*a=8我们一次不要讲太多,这次就讲到这里,现在总结一下。要点:1)常量分为自然常量和自定义常量,常量的值不可修改2)变量就像盒子,我们不在乎盒子里装的是什么,但一定要知道盒子的名字3)四则运算在编程中没有任何不同4)MOD 是取余运算作业:1)编一个程序,计算圆形的面积,半径由用户给出(使用 Inputb

17、ox) PI 取值 3.141592)编一个程序取得 20 / 3 的余数估计大家看累了,我来个大话西游2 游戏计算器的实例吧。小黑在帮派门口摆摊卖药,今天共卖了56 个灵异天香,每个的出售价格为2170,那么他赚了多少钱?(药店出售的灵异天香价格为2160)在题目中,56 和 2170 是变量。大家可以想想代码怎么写,然后再往下看。dim m, n,x,msgmsg=小黑在帮派门口摆摊卖药,今天共卖了n 个灵异天香,每个的出售价格为m,那么他赚了多少钱?”n=inputbox(msg,灵异天香个数 n,请在此输入灵异天香个数n)m=inputbox(msg,每个售价 m,请在此输入每个药的出

18、售价格m)x=(m-2160)*nmsgbox(答案:” & x)把这段代码复制粘贴到文本文件,然后把文本文件.txt 后缀改为.vbs 双击运行看看效果。如果看不到.txt 后缀,去我的电脑-控制面板-文件夹选项-查看-去掉“隐藏已知文件类型的扩展 名”对勾确定就行了。第三篇:这样当你要修改输出的时候只要修改hw 的值就行了。首先,我来解决一下上次课程的几个疑问。第一,那个余数问题,16 / 5 = 3.1,是因为我改过前面的部分,后面的忘了改了,不好 第二,请看一下程序清单:1)Dim a,b,c a=inputbox(a 是:,输入半径) b=Inputbox(b 是:”,输入半

中,+不仅仅是加号的意思还表示把两个字符串连接起来,例如Hello+World=HelloWorld have you understood?你还记得InoutBox 函数的返回值吗?是字符串!这就看出问题了吧,在

20、编程中1不等于()1, 1是一个字符,而 1 是一个数,所以 a,b 都是字符串变量,1+2=12,这就好像我们小时跟伙伴开玩笑问他们1+仁?一样,我们总是笑着说“错啦,应该是 11”,但为什么,a 可以*2 却不发生错误呢?这是 VBS 比较智能的一个表现,如果这个字符串的容是一个数且对他进行数学运算,则把字符串强制转换成数参与运算,如果字符串代表一个数,但不参加数学运算,而是参加字符串运算(合并)则当作字符串处理, 所以你看到 a+b=12,这时候 a+b 的结果(12)是一个字符串,当它要乘以 2 的时候就被强制转换成了数字12,这样我就得到了结果24。怎么修改这个程序呢?我们需要用到另

21、一个建的函数:intint 函数的功能是将输入值转化成整数值,我们这样修改:c=(i nt(a)+i nt(b)*2这个意思就是把 a 作为参数传递给 int 函数,int 函数就会返回那个整数(你的输入值), 然后让返回值参与运算,这样就得到了正确答案。所以,以后如果你用的是inputbox 函数的话,最好用 int 语句加工一下:比如 c=int(c) c 是你自己的变量。大家是不是觉得这个课程有点枯燥。呵呵,变量和运算符部分的确是这样的,不过多多练习也就好了。这次,我们写写真正好玩的东西:流程控制语句。这个部分开始才是真正的编程。首先介绍判断结构在此之前,我们先介绍一种简单的变量类型布尔

22、值(Boolean),这种变量只有两个可能值:True,Flase,即真或假.这种变量在某些情况下很有用(比如开关).我们定义一个bool 变量的方法和其他变量一样,赋值也一样,例如:这样当你要修改输出的时候只要修改hw 的值就行了。dim a,b a=true b=false注意,true 和true是不一样的,true是字符串,true 是布尔值,千万不能混淆.回到 if 语句上来,我们先来看看简化版的 if 语句:if 判断式 then 语句体我们来看一个例子:dim a,ba=12b=13if ba then msgbox(B 大于 A)我们只看最后一行,ab 这个式子(表达式)有一个

23、返回值,是 bool 型的.因为这个式子只 有两种可能:b 大于 a, b 不大于 a,所以这个式子也只有两种可能性,即真或者假.if 语句判断这个表达式的返回值是真还是假,如果是真(true)则执行 then 后面的语句,如果是假,则不执行,你把 a 的值改成 14 看看还会不会弹出对话框?当我们要在判断之后执行多行语句怎么办呢,我们需要用语句块来解决,在这里可以叫块 ifdim

24、前 请空出 4-8( 一个键)个格,这不是必需的,但是是一个好习惯,以便看清楚程序的结 构这样我们就能运行多于一个的语句,请注意 if.then.end if 这三个关键部分不要掉了.OK,我出一个题,输入一个数,如果小于 100 就输出”错误,如果大于 100 就输出正确,我 这里有两个程序版本:dim aa=inputbox(请输入一个大于 100

25、se 的作用就是当要判断的表达式为false 时执行的这样程序就可以处理两种不同的情况了不要忘了用 end if 结尾这样当你要修改输出的时候只要修改hw 的值就行了。嘿嘿,我是变态者,现在我要你处理三种情况,100,还要写在一个 if 结构 里,你怎么办,我给你答案:dim aa=inputbox(请输入一个大于 100 的数)a=int(a) inputbox

26、f 语句可以在 if 结构中多次出现,以灵活判断不同的情 况(如果你要判断得太多,就请使用”选择结构,过会儿就讲),当所有 elseif 都处理完了,而 没有符合情况的时候再执行else 中的语句另一个例子:Dim a,b,c,da=inputbox(a 是:,输入半径) b=Inputbox(b 是:,输入半径) d=Inputbox(答案:,输入答案)c=a*2+b*2 这里没有问题,会自动转换 if d=c the nMsgbox(你好聪明)elseMsgbox(你好猪头自己的题还不会!)end if再看看这个,无论你回答得多么正确你都是猪头,哈哈,不是我耍你,还是文章开始时候的 inp

27、utbox 的返回类型在耍你,d 是 inputbox 的返回值,他是一个字符串,而 c 是一次整 数计算的结果,他是一个整数 一个字符串无论如何也不等于一个整数,尽管他们字面上是一样的:8(不等于号)8 所以 if 的判断式的值永远是false,总是执行 else 部分的语句.我们可以这么修改Dim a,b,c,da=inputbox(a 是:,输入半径)b=Inputbox(b

28、ox(你好猪头自己的题还不会!)end if这样就成功了 这也是 Inputbox 函数的一个讨厌的地方,没办法,vbs 没有其他好的输 入方式了。这样当你要修改输出的时候只要修改hw 的值就行了。说到 if,我们不得不说一说逻辑运算符,今天介绍两种,and和or学会了 if 语句之后,我举一个例子,你一看就明白了 .dim a,ba=inputbox(输入一个数

这一句,用华语是这样:如果 a 大于 10 或者 b 大于 10,那么. 这样是不是就很好理解了呢 .OK,我们再来看一种新结构,今天的课就结束,已经午夜了,我都累死了 .当你的程序要处理很多种不同的判断情况的时候elseif.th

if怎么样,麻烦吧,还是 select 好吧.OK,今天到此结束,总结一下:要点:1)inputbox 返回的是一个字符串,而不是一个数,必须用 a=int(a)这种形式转化成数2)bool 变量的值只有两种:true,false

32、2.5)and 两边的表达式都是true,则返回 true. or 两边的表达式有一个是true,就返回 true3)if 语句的格式这样当你要修改输出的时候只要修改hw 的值就行了。4)select.case 的格式 作业:1)使用 3 个 bool 值,储存你的 3 兄弟姐妹是否是男性(提示:sister1male=false)这样当你要修改输出的时候只要修改hw 的值就行了。2)给定一个个数,大于 10 而且小于 20 输出”正确,否则输出错误”3)输入 12,或者 15,输出”正确,否则输出”错误”4)把 5 以的正整数都转换成中国大些数字5)自己随便设计一个程序,应用今天的知识第四篇

33、:循环结构我们先来看一道题:商场进行每日结算,要求累加出今天的营业额,每次输入一个数,这道题其实很简单,但就我们现在学过的知识要完成这道题相当麻烦,我们来分析一下首 先,我们需要知道买卖的次数,这样才能控制输入的次数,但是,这种设计是非常低效的,每 天都要重新设计程序假定今天进行了 5 次交易,以下是源程序:dim sum sum=O 初始化变量sum=sum + int(inputbox( 请输入交易额)易次数少的地方还能凑合着用,如果放到超市岂不是要复制,粘贴几千遍?我们今天讲的容就可以克服这种缺陷,首先,我们来讲以下 Do.Loop 语句.do.loop 的结构看上去非常简单,就是:do

34、.loop,仅此而已,这个结构不断执行do 和loop 之间的语句(学名叫:循环体),永不停止.举个例子来说:domsgbox(这个信息会不断重复出现,要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript 进程)loop用处这里使用了函数嵌套,把 inputbox 的返回值直接传给sum=sum + in t(i nputbox(请输入交易额)sum=sum +

35、来int 函数,转化成整数,下同msgbox(sum),进行一次运算,再放回本身,这种方法很有看到了吗,我通过把计算过程复制了5 遍才设计好了程序,这种程序在汽车交易所等交这样当你要修改输出的时候只要修改hw 的值就行了。运行这个程序,当你点销掉一个对话框马上会出来另一个,你永远点不完,总有下一个谁会运行这样的程序?除非是给别人捣乱(我就干过这种事) ,所以在 do.loop 结构中还有一 个语句:exitdo,这个语句将终止循环,跳到 loop 后面的语句继续 执行.据个例子来说:dim a 注意:常量不需要在 dim 里面声明,否则会引发错误con st pass=123456这是一个字符

36、串 请用包裹起来.设定密码为常量,不可变更doa=inputbox(请输入密码)if a=pass the nmsgbox(密码校验成功”)exit doend ifloop这个程序会一直不停的问你密码,知道你输入了正确的密码为止.(if 可以嵌套在另一个 if当中,也可以嵌套在循环体当中,所以一定要用缩进,来分清楚程序的各个部分).这个程序是很经典的,早期的程序都是这么做的但是我们是 Hacker,所以 我们了解系统的安全性,这种无限次认证程序很容易被穷举破解,我们要来限定认证的次数修改程序如下dim a,ctrctr=0 设置计数器con st pass=pas123_上面的那个是弱密码,

ifloop运行这个程序试试看,当你出了3 此错误以后,就会停止再次询问密码,关闭程序telnet 认证用来限制次数的程序与此小异要注意的是嵌套的 if 语句,清仔细读一下这个程这样当你要修改输出的时候只要修改hw

38、 的值就行了。序,可能比较难懂,也请你试着自己设计一下类似的程序.其实,要在 do.loop 加上验证的功能,并不一定要用 if,我们可以直接利用do.我来介绍一下 while 关键字,while 可以放在 do 或者是 loop 后面,然后再接一个表达式,当表达式 的值为 true的时候(表达式成立)才运行循环体.我们来看一下修改后的 程序”dim a,ctrctr=0const

如果密码出错就增加一次错误认证计数msgbox(认证出错,请检查密码)end ifloop while ctr3功能是一样的,为什么要放在 loop 后面呢?你把 ctr 的值改成 3 就知道了,while 在 do 后面的程序会直接退出,而在 loop 后面还会允许一次认证,到了 loop 才结束和 while 相反 的是 until,用法和 while一样,不过他只有当后面的表达式的值为 false(表达式不成立)的时候 才执行循环体,请自己试验一下ok,我们来看另外一种循环结构,for.next,这种循环结构是基于计数的,也是在编程中最常见到的循环结构.dim ifor i=0 to 5msgbox(i)这样当你要修改输出的时候只要修改hw 的值就行了。n ext看到了吗?每次输出的 i 都是递增的,但我们没有明确指出 i 要递增,当 i 达到 5 的时候, 循环就结束了,因为由 0

我要回帖

更多关于 vb判断是否包含字符串 的文章

 

随机推荐