工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02
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的更多相关文章
- 工控随笔_19_西门子_WinCC的VBS脚本_08_常量和流程控制_01
在编程的过程中,有时候我们会使用一些固定的值,例如圆周率,或者某个人的生日,或者家庭住址等等, 这些信息对于一个对象来说一旦确定就不会改变,因此我们在编程的时候也不希望这些信息会改变,在VBS里面 也 ...
- 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门
很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...
- 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01
最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...
- 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二
上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...
- 工控随笔_18_西门子_WinCC的VBS脚本_07_变量作用域和传值、传址
在vbs脚本中也存在和其他编程语言一样的概念,那就是变量的作用域,变量的作用域决 定在什么范围内可以访问. 同样的在vbs脚本中对于变量也有一个生命周期, 变量的生命周期决定了变量的存续时间 这个主要 ...
- 工控随笔_17_西门子_WinCC的VBS脚本_06_过程和函数
和其他语言一样,vbs提供了过程和函数机制,通过函数和过程可以优化代码结构和实现代码复用, 减少代码的编写量. 一.代码 具体不再多说,看实例代码. ' vbs的函数和过程 '1.过程式编程是一大编程 ...
- 工控随笔_15_西门子_WinCC的VBS脚本_05_变量类型之三_VBS数组
数组是一种复杂数据类型,不但有数组本身的数据类型: 数组,还有数组元素中存储的数据的类型. 一.vbs中的数组类型 在VBS中提供了两种数组类型,一种是固定数组,一种是动态数组. 1.固定数组 就是在 ...
- 工控随笔_12_西门子_WinCC的VBS脚本_03_变量类型
说到编程语言,总是绕不开数据类型,因为数据类型决定了数据可以进行什么样的操作.同时数据类型 从广义上来说是一种数据结构,在过程式编程的过程中,曾经有过这样一种说法: 程序 = 数据结构 + 算法 可见 ...
- 工控随笔_11_西门子_WinCC的VBS脚本_02_运算符
VBS脚本做为编程语言,提供了很多的运算符,通过这些运算符,可以实现不同的操作.运算符具有不同的类型 不同的运算符之间具有运算优先级. 一.运算符的分类 大体分为以下几类: 1.赋值运算符 2.算术运 ...
随机推荐
- Groovy学习笔记-布尔求值
1.判断字符串为null或空字符串 def str = null if(str) println 'str is not null' else println 'str is null' str = ...
- 微信小程序中的小小的遮罩层
<view class='pop_wx_er'> <view>ddddddddddddd</view> <view>ddddddddddddd</ ...
- AVL Tree Deletion
Overview 知识点: 1. delete函数的signature public AVLTreeNode Delete(AVLTreeNode node, int key) 2. 算法,如何删除节 ...
- Team416
软件工程小组今天成立了! 成员:计科1704 杨璐华 俞天耀 杨通玉 王旭 分工: 项目经理: 杨璐华 需求分析: 俞天耀 运行维护: 杨通玉 软件架构: 王旭 我们团队关于此次软件工程项目的分工大 ...
- 初用jdbc来运行事务
dao层 public Connection getConnection() throws Exception { Class.forName(driver); if (con == null || ...
- Python多线程的运行及time.sleep()的应用
已知小明和其弟弟小白每月都需要生活费,二人同时从同一个账户中取钱,两人每人每月需要1000元,账户中现有余额3200元,如果卡内余额大于2000元,则父母不会存入,如果卡内余额小于2000元,则父母当 ...
- vue 使用canvas仿芝麻分信用表
如图所示: 画布组件:dashboard.vue <template> <div> <canvas ref="canvas" v-if="c ...
- Favorite Donut(HDU 5442)最小表示法+二分
题目给出一个字符串,由a~z表示甜度,随字典序增大,字符串首尾相连形成一个圈,要求从一个位置开始字典序最大的字符串,输出位置以及是顺时针还是逆时针表示.顺时针用0表示,逆时针用1表示. 此题只需要查找 ...
- 巧用MYSQL中SQL语句
static bool Verify(string username, string password) { //string strSql = "select * from users w ...
- 关于jstl中碰到的Property 'username' not found on type java.lang.String异常
在jstl的forEach循环的时候总是有异常,刚开始以为是把类的属性名打错了,因为显示的是Property not found,但就算从类文件里面复制属性名过来依然显示的是Property not ...