vbs不但提供了分支结构,还提供了丰富的循环形式。一共有3种循环:

  1、for循环

  2、do...loop循环

  3、while循环

  各种循环有各自的特点,在使用的时候可以进行转换。

  前面已经描述过For循环,这里简单的描述一下后面两种循环。

一、Do....loop循环

  

Option Explicit

'do loop 循环

'do loop循环有两种形式
'1、形式1 while形式, while true 就一直循环
'2、形式2 until形式, until true 就停止循环 Dim bLoopAgain 'while形式的循环
'只要循环条件是true逻辑结果,就一直循环
Do
Dim nInput
bLoopAgain = False nInput= InputBox("请输入数值:","while形式循环")
If Not IsNumeric(nInput) Then
bLoopAgain = True
End If
Loop While bLoopAgain 'until形式的循环
'只要循环条件为true,就结束循环
Do
bLoopAgain = false
nInput = InputBox("请输入数值: ","until形式循环")
If IsNumeric(nInput) Then
bLoopAgain = True
End If
Loop Until bLoopAgain '同时do循环的while关键字还可以放在最前面
'形成下面的格式
'do while 逻辑结果
'循环语句
'loop bLoopAgain = True
Do While bLoopAgain
nInput = InputBox("请输入数值:","do while放在一起","")
If IsNumeric(nInput) Then
bLoopAgain = False
End If
Loop 'exit do循环语句
'有时候循环次数执行过多就跳出循环,比方说多次输入的密码错误就不在执行
Dim strCipher
Dim nInputCount nInputCount =
Do
bLoopAgain = True
nInputCount = nInputCount +
strCipher = InputBox("请输入密码:")
If strCipher = "volcanol" Then
bLoopAgain = False
End If '如果输入密码的次数超过5次,那么就跳出循环
If nInputCount = Then
MsgBox "输入密码错误超过5次,禁止登陆!",vbInformation,"提示"
Exit Do
End If
Loop While bLoopAgain

二、while循环

'while... wend 循环
'vbs中还有一个比较简洁的循环语句, while....wend
'这个循环当循环条件的逻辑结果为 true的时候一直循环
bLoopAgain = True
While bLoopAgain
If "volcanol" = InputBox("请输入密码:","输入") Then
bLoopAgain = False
End If
Wend

三、Tips

1、集合和数组遍历可以使用For循环

2、do循环要注意while和until的位置,两个需要注意

--------------------------------------------------------------分割线---------------------------------------------------------------

1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

4、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线---------------------------------------------------------------

工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02的更多相关文章

  1. 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01

    在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...

  2. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  3. 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

    最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...

  4. 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二

    上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...

  5. 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址

    在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...

  6. 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数

    和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程 ...

  7. 工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组

    数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型. 一.vbs中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在 ...

  8. 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型

    说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...

  9. 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符

    VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...

随机推荐

  1. java第五周作业

    Java Applet Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程 ...

  2. 2019-04-24-day039-数据库的增查

    内容回顾 多积累使用工具的经验 尽量多练习 1.多练几种类型 2.不要照着写好的sql敲,要自己组织语言 内容回顾 存储引擎 innodb : 外键 行级锁(并发修改) 事务(客户管理系统) myis ...

  3. Linux虚拟机部署单机solr报错500解决方法之一

    HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load c ...

  4. 洛谷p1181 数列分段section I

    #include<iostream> #include<vector> #include<algorithm> using namespace std; int M ...

  5. 3.7 unittest之断言

    3.7 unittest之断言 前言在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用unitte ...

  6. 获取Xcode工程所有的类名

    有的时候在需求中需要获取工程中所有的类名.例如在获取工程中继承某个类的列表. 核心代码如下: unsigned ; const char **classes = nil; Dl_info info; ...

  7. python3 sys.path

    wadmin@ansible-test:~/python$ python3Python 3.6.7rc1 (default, Sep 27 2018, 09:51:25) [GCC 8.2.0] on ...

  8. Java基于opencv实现图像数字识别(五)—投影法分割字符

    Java基于opencv实现图像数字识别(五)-投影法分割字符 水平投影法 1.水平投影法就是先用一个数组统计出图像每行黑色像素点的个数(二值化的图像): 2.选出一个最优的阀值,根据比这个阀值大或小 ...

  9. 双十一LoanMarket压力测试报告

    测试背景 评估服务器资源及几个重要接口的并发性能. 测试需求 由开发提供的5个重要接口: 业务场景 URL 访问量(万) TPS 请求比例(%) 随手借点-首页产品接口 /suishoujiedian ...

  10. 解决: Homestead 环境下, yarn install --no-bin-links, NPM run dev, 命令报错

    执行以下命令: 1 $ rm -rf node_modules 2 $ yarn config set registry http://registry.cnpmjs.org 3 $ yarn ins ...