VBS编程教程 (第4篇)
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
四篇(共六篇): 大家好,昨天我休息了一天,所以今天写第4章:循环结构 我们先来看一道题:商场进行每日结算,要求累加出今天的营业额,每次输入一个数,这道题其实很简单,但就我们现在学 过的知识要完成这道题相当麻烦,我们来分析一下.首先,我们需要知道买卖的次数,这样才能控制输入的次数,但是,这种设 计是非常低效的,每天都要重新设计程序.假定今天进行了5次交易,以下是源程序: dimsum sum=0''初始化变量 sum=sum+int(inputbox("请输入交易额")) ''sum=sum+x 这种形式是把本身的值取出来,进行一次运算,再放回本身,这种方法很有用处 ''这里使用了函数嵌套,把inputbox的返回值直接传给int函数,转化成整数,下同 sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) msgbox(sum) 看到了吗,我通过把计算过程复制了5遍才设计好了程序,这种程序在汽车交易所等交易次数少的地方还能凑合着用,如果 放到超市岂不是要复制,粘贴几千遍?我们今天讲的内容就可以克服这种缺陷,首先,我们来讲以下Do...Loop语句. do...loop的结构看上去非常简单,就是:do...loop,仅此而已,这个结构不断执行do和loop之间的语句(学名叫:循环体), 永不停止.举个例子来说: do msgbox("这个信息会不断重复出现,要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript进程") loop 运行这个程序,当你点销掉一个对话框马上会出来另一个,你永远点不完,总有下一个.谁会运行这样的程序?除非是给 别人捣乱(我就干过这种事),所以在do..loop结构中还有一个语句:exitdo,这个语句将终止循环,跳到loop后面的语句继续 执行.据个例子来说: dima''注意:常量不需要在dim里面声明,否则会引发错误 constpass="123456"''这是一个字符串请用""包裹起来.设定密码为常量,不可变更 do a=inputbox("请输入密码") ifa=passthen msgbox("密码校验成功") exitdo endif loop 这个程序会一直不停的问你密码,知道你输入了正确的密码为止.(if可以嵌套在另一个if当中,也可以嵌套在循环体当中 ,所以一定要用缩进,来分清楚程序的各个部分).这个程序是很经典的,早期的程序都是这么做的.但是我们是Hacker,所以 我们了解系统的安全性,这种无限次认证程序很容易被穷举破解,我们要来限定认证的次数.修改程序如下 dima,ctr ctr=0''设置计数器 constpass="pas123_"''上面的那个是弱密码,这次改的强一点 do ifctr=3then msgbox("已经达到认证上限,认证程序关闭") exitdo else a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1''如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif endif loop 运行这个程序试试看,当你出了3此错误以后,就会停止再次询问密码,关闭程序.telnet认证用来限制次数的程序与此大 同小异.要注意的是嵌套的if语句,清仔细读一下这个程序,可能比较难懂,也请你试着自己设计一下类似的程序. 其实,要在do...loop加上验证的功能,并不一定要用if,我们可以直接利用do.我来介绍一下while关键字,while可以放 在do或者是loop后面,然后再接一个表达式,当表达式的值为true的时候(表达式成立),才运行循环体.我们来看一下修改后的 程序" dima,ctr ctr=0 constpass="pas123_" dowhilectr<3 a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1''如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif loop 这样实现的功能和上一个例子完全一样,我们再来 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 两个批量挂马vbs脚本代码下一篇: VBScript提交表单提示-对象不支持此属性或方法
关于VBS编程教程 (第4篇)的所有评论