上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容。

一、NULL补充内容

'需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过
'IsNull函数来实现 '下面用 = 进行比较,不会执行IF子句
Dim varTest
varTest = Null
If varTest = Null Then
MsgBox "The variable varTest has NULL value."
End If '下面用IsNull检测,会执行语句
If IsNull(varTest) Then
MsgBox "利用IsNull检测,执行语句,varTest就是NULL"
End If '*********************************
'
'Null 不能进行强制类型转换
'MsgBox CLng(varTest)
'MsgBox CStr(varTest) 'null的隐式类型转换
Dim lngTest
lngTest = + varTest
'直接输出lngTest产生未知数据错误
'MsgBox lngTest 'NULL隐式类型转换为控制符串""
MsgBox "数值与null进行加法运算,生成未知值,但NULL可以和string连接" & lngTest

二、初识OOP

'      vbs的OOP
'
'1、vbs是一种面向对象的脚本编程语言
'2、oop的一些原理和思想在vbs中是通用的,这里不再多说 'set关键字,对对象变量进行赋值必须采用set关键字,否则出错
'CreateObject函数,用来创建对象 'wsh对象
Dim objWSH
Set objWSH = CreateObject("Wscript.Shell")
MsgBox "当前工作路径是: " & objWSH.CurrentDirectory '文件系统
Dim objFSO
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
objFSO.CreateTextFile("D:\我是vbs生成的文件.txt")
If objFSO.FileExists("D:\我是vbs生成的文件.txt") Then
MsgBox "已经通过FSO系统生成文件"
End If '对象类型具有一定的特殊性
'1、必须用Set关键字来初始化对象变量
'2、对象的类型必须通过Is函数来检测,和NULL、Empty一样
'3、有个特殊的对象常量,Nothing,这个表示对象变量不指向任何对象
'4、通过 set objXxx = Nothing 来取消objXxx与对象引用的关联 If IsObject(objWSH) Then
MsgBox "objWSH变量已经初始化,并且已经指向对象"
End If '必须通过set 关键字来重新给对象赋值
If objWSH Is Nothing Then
MsgBox "objWSH变量已经初始化,并且已经指向对象,这一句不执行"
Else
MsgBox "objWSH变量依然指向对象,不是Nothing,执行这一句"
End If '检测一个变量是否已经不指向任何对象,或者说检测一个变量是否是一个对象
'的引用,那么必须用 IS 操作符,不能通过简单 = Nothing来检测
Set objWSH = Nothing
If objWSH Is Nothing Then
MsgBox "objWSH变量已经设置为Nothing,执行这一句"
Else
MsgBox "objWSH变量被设置成不指向任何对象,这一句不执行"
End If

三、容错机制

'   vbs中的容错机制

'1、在程序的执行过程中不可避免的会出现某些错误,我们有时候不能因为出现
' 某些错误就停止程序的执行,这就需要提供一个机制来规避错误出现的风险
'2、vbs中有一种继续执行机制,就是当错误存在的时候,继续执行
'3、on error resume next 语句用来告诉脚本引擎,当出现异常的时候,继续往
' 下执行
On Error Resume Next '绕过错误继续执行
Dim varNull
varNull = Null
'利用msgbox 显示一个Null值,是一个错误,但是因为有 on error resume next
'脚本将会继续执行
MsgBox varNull varNull = "我已经赋值,不在是NULL,所以可以正常显示"
MsgBox varNull '********************************************
' 利用on error resume next 存在一个风险,就是如果逻辑不正确的话
' 将会产生未知的后果,因此在编写代码的时候,最好要用防御式编程
' 将产生未知情况的可能性降到最低的可能性
' 防御式编程实例
'假设输入员工的年龄
Dim nAge
Dim nInput
nInput = InputBox("请输入您的年龄","输入","")
'因为输入可能不是数值,所以就需要检测
If IsNumeric(nInput) Then
nAge = CInt(nInput)
Else
MsgBox "您输入不是数值! 将设置为22岁"
nAge =
End If '因为人的年龄不能小于0,且正常情况下不可能超过200岁,所以当出现
'不在 0 ~ 200 范围的时候,将年龄设置为22
If nAge < Or nAge > Then
nAge =
End if
MsgBox "您的年龄是: " & nAge

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

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

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

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

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

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

工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02

    vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...

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

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

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

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

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

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

随机推荐

  1. excel2013 打开为灰色空白 左下角显示就绪 要把文件拖进去才能打开!

    最近电脑excel2013 打开总是为灰色空白 左下角显示就绪 要把文件拖进去或者在此再打开一个才能打开! 在网上搜了一下,我是使用下面这个方法解决的: 步骤一:请您在“开始”菜单的搜索框中输入“re ...

  2. Java 实现ftp 文件上传、下载和删除

    本文利用apache ftp工具实现文件的上传下载和删除.具体如下: 1.下载相应的jar包 commons-net-1.4.1.jar 2.实现代码如下: public class FtpUtils ...

  3. 《贝贝GO》服务条款

    服务条款 一.服务条款的确认与接收 1.贝贝GO客户端软件(以下简称“本软件”)各项电子服务的所有权和运作权归属于“东莞市山水信息技术有限公司”(以下称“本公司”)所有,本软件提供的服务将完全按照其发 ...

  4. head语法

    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾.1.命令格式:head ...

  5. leetcode题解 7.Reverse Integer

    题目: Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 E ...

  6. LDAP-HA安装与配置(Keepalived方式实现)

    LDAP部署 安装LDAP(主节点) 安装LDAP Server yum install db4 db4-utils db4-devel cyrus-sasl* krb5-server-ldap -y ...

  7. 固态硬盘Ghost安装Windows 10无法引导的问题

    机器配置如下: 电脑型号 技嘉 B360M POWER 台式电脑 操作系统 Windows 10 64位 ( DirectX 12 ) 处理器 英特尔 Core i7-8700 @ 3.20GHz 六 ...

  8. vm12pro 安装winxp过程 记录1(涵个人问题)

    1.百度的xp资源 选好iso文件后出现如下情景: 2.百度以后是要在一开始的首次界面就选择从哪个盘开始 3.选择了“Windowgs PE”选项…加载出界面后选择了ghost xp…现在…黑屏了…… ...

  9. QTP自动化测试

    原文链接:https://www.cnblogs.com/xiezhidong/p/6784684.html ♣Qtp是什么? ♣测试用例网站    ♦注册与登录    ♦测试脚本       ◊录制 ...

  10. 腾讯广告联盟 Android SDK(广点通)demo的使用方式

    1. 下载示例文件. 2. 解压之后的目录: 3. 使用android studio,选择import project,导入如图所示文件夹: 4. 重点来了,由于官方demo的上传时间很久远(大概是上 ...