您的位置:首页 > 社会 >

vbscript基础教程?vbscript循环结构是什么意思?

来源:财报分析网     时间:2022-11-21 13:28:58

vbscript基础教程,vbscript循环结构,do...loop语句,while语句,for...net语句等

首先, 来看下Do...Loop语句.

do.loop的结构看上去非常简单, 就是:do...loop, 仅此而已, 这个结构不断执行do和loop之间的语句(学名叫:循环体),

永不停止. 举个例子来说:

do

msgbox("这个信息会不断重复出现, 要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript进程")

loop

运行这个程序, 当你点销掉一个对话框马上会出来另一个, 你永远点不完, 总有下一个. 谁会运行这样的程序? 除非是给别人捣乱(我就干过这种事), 所以在do..loop结构中还有一个语句:exit do, 这个语句将终止循环, 跳到loop后面的语句继续

执行. 据个例子来说:

dim a '注意:常量不需要在dim里面声明,否则会引发错误

const pass="123456" '这是一个字符串 请用""包裹起来. 设定密码为常量, 不可变更

do

a=inputbox("请输入密码")

if a=pass then

msgbox("密码校验成功")

exit do

end if

loop

这个程序会一直不停的问你密码, 知道你输入了正确的密码为止.(if可以嵌套在另一个if当中, 也可以嵌套在循环体当中, 所以一定要用缩进, 来分清楚程序的各个部分). 这个程序是很经典的, 早期的程序都是这么做的. 但是我们是Hacker, 所以

我们了解系统的安全性, 这种无限次认证程序很容易被穷举破解, 我们要来限定认证的次数. 修改程序如下

dim a,ctr

ctr=0 '设置计数器

const pass="pas123_" '上面的那个是弱密码, 这次改的强一点

do

if ctr=3 then

msgbox("已经达到认证上限, 认证程序关闭")

exit do

else

a=inputbox("请输入密码")

if a=pass then

msgbox("认证成功")

msgbox("(你可以在这里加一段成功后得到的信息)")

exit do

else

ctr=ctr+1 '如果密码出错就增加一次错误认证计数

msgbox("认证出错, 请检查密码")

end if

end if

loop

运行这个程序试试看, 当你出了3此错误以后, 就会停止再次询问密码, 关闭程序. telnet认证用来限制次数的程序与此大同小异. 要注意的是嵌套的if语句, 清仔细读一下这个程序, 可能比较难懂, 也请你试着自己设计一下类似的程序.

其实, 要在do...loop加上验证的功能, 并不一定要用if, 我们可以直接利用do.

while关键字

while可以放在do或者是loop后面, 然后再接一个表达式, 当表达式的值为true的时候(表达式成立),才运行循环体.我们来看一下修改后的

程序"

dim a,ctr

ctr=0

const pass="pas123_"

do while ctr<3

a=inputbox("请输入密码")

if a=pass then

msgbox("认证成功")

msgbox("(你可以在这里加一段成功后得到的信息)")

exit do

else

ctr=ctr+1 '如果密码出错就增加一次错误认证计数

msgbox("认证出错, 请检查密码")

end if

loop

dim a,ctr

ctr=0

const pass="pas123_"

do

a=inputbox("请输入密码")

if a=pass then

msgbox("认证成功")

msgbox("(你可以在这里加一段成功后得到的信息)")

exit do

else

ctr=ctr+1 '如果密码出错就增加一次错误认证计数

msgbox("认证出错, 请检查密码")

end if

loop while ctr<3

功能是一样的, 为什么要放在loop后面呢? 你把ctr的值改成3就知道了, while在do后面的程序会直接退出, 而在loop后面还会允许一次认证, 到了loop才结束.和while相反的是until, 用法和while一样, 不过他只有当后面的表达式的值为false(表达式不成立)的时候才执行循环体, 请自己试验一下

ok, 我们来看另外一种循环结构,for....next, 这种循环结构是基于计数的, 也是在编程中最常见到的循环结构.

dim i

for i=0 to 5

msgbox(i)

next

看到了吗?每次输出的i都是递增的, 但我们没有明确指出i要递增, 当i达到5的时候, 循环就结束了, 因为由0开始, 所以循环体执行了6次, 这一点很重要, 大部分东西都是从0开始而不是1. 这个程序也可以写成

do的形式:

dim i

i=0

do while i<5

msgbox(i)

i=i+1 '因为do不能自动计数, 必须手动加

loop

怎么样, 还是for比较好用吧. for在编程中很有用途, 我们再举一个例子, 顺便讲一下嵌套循环.

dim i,j

for i=1 to 9

for i=1 to 9

str=str & i * j & " " '&是和并字符串的符号

next '每个next对应一个for

next

看看运行结果, 是否令你会想起小学时代的数学老师(丑陋的嘴脸). 要注意, 这里有一个"大"的for, 和一个小的for, 当小的for执行完一个周期以后, 大的for才执行一次(换句话说, 大的for执行一次, 小的要执行9次), 所以一共执行了九九八十

一次. 在大的for里可以不仅仅是一个小的for, 也可以加上另外的语句. 我们来修改一下源程序:

dim i,j

for i=1 to 9

for i=1 to 9

str=str & i * j & " "

next '每个next对应一个for

str=str & vbCrlf 'vbCrlf相当于键盘上的回车键,因为你不能在键盘上输入,所以系统定义了一个默认的常量

next

这次运行完成以后, 输出结果按照乘数进行了分割, 每小for运行完一次, 就换一行(通过vbcrlf).

这次的内容对菜鸟可能比较难懂, 掌握的办法只有一个:多实践. 另外, 我在论坛看到很多人还是问:"VBScript要用什么工具编?"我就很气愤, 我在第一篇里面已经说明:用记事本编辑源代码, 然后保存为以.vbs为扩展名的程序就可以了, 请大家不要再问. 另外, 国产的一种垃圾软件"超级X霸"抢占了vbs这个扩展名, 请把那个垃圾卸载掉.

要点:

1) do..loop和exit do的用法

2) while当表达式true的时候执行循环体,until反之

3) for...next是计数循环, 每次执行计数器递加

4) 嵌套循环的作用和写法

4.5) &用于连接字符串

5) vbCrLf相当于键盘上的回车键

标签: vbscript基础教程 vbscript循环结构是什么意思 信息会不断重复出现 停止程序

相关文章

  • vbscript基础教程?vbscript循环结构是什么意思?

  • adsl密码查看器怎么用?adsl密码查看器有什么作用?

  • 中芯国际是国企还是私企?中芯国际是干什么的哪个国家的?

  • 支付宝不可用余额是怎么回事?支付宝不可用余额怎么解决?

  • 鼠标单击变双击是怎么回事?电脑鼠标单击变成了双击怎么解决?

  • i7处理器怎么样? i7和i5的处理器哪个好?

  • 笔记本电脑怎么系统还原?电脑还原系统的方法步骤?

  • 诺基亚N800商务手机有什么特点?诺基亚N800商务手机值得买吗?

  • 360路由器WiFi设置网址是多少?360路由器中无线网络的设置步骤?

  • Simc模拟器代码介绍?Simc模拟器使用方法?

  • iPhone连不上电脑原因?iPhone连不上电脑如何处理?

  • 真三国无双5全功能修改器如何下载?真三国无双5全功能修改器如何

  • 网速测试工具的特色是?网速测试工具有哪些功能?

  • cad鼠标中键不能平移是怎么回事?cad鼠标中键不能平移怎么办?

  • svchost.exe 应用程序错误怎么办?svchost.exe 应用程序错误如何操作?

  • 碎纸机卡纸堵住了怎么办? 使用碎纸机需要注意什么?

  • 如何一键修复内存不能为written错误?written修复工具功能介绍?

  • 无法连接到 app store是为什么?无法连接到 app store怎么办?

热点图集

热点

  • 颈托、牵引、按摩……这些颈椎治疗“神器”靠谱不

  • 美妆电商代运营商相继上市 美妆电商的下半场竞争加剧

  • 央行开展1000亿元14天期逆回购操作 利率2.35%

  • 山东墨龙(002490)易主国资 能否借力脱困尚留有悬念

  • 雷诺品牌退出 神龙汽车能否恢复“造血”能力

  • 巨头入场养猪散户转型 猪肉消费峰值未现

  • 中通在港正式挂牌 物流企业“广积粮”

  • 龙江航空拍卖开槌 民营航空格局还可能生变

  • 大幅提高客服效率 如何让“员工热线”成为企业价值提升的助推器

  • 京郊民宿出现涨价现象 高端民宿价格上涨近两成

  • 新能源汽车与燃油车平分秋色 车企谋求技术上的更进一步

  • PPmoney近期兑付延期 资产端贷款利率远超民间借贷利率

  • 考研预报名正式开启 线下自习室规模化难在哪

  • 将儿童消费放在首位 乐多港万达广场将加大儿童业态的引入

  • 特斯拉将美国政府告上法庭 停止对华进口零部件征税

  • 品渥食品在创业板上市 证券代码为“300892”

  • 汉商集团拟收购迪康药业100%股权 交易作价为9亿元

  • 浙江发布5亿元旅游消费券 通过七大平台面向全网推出