VBS学习日记(二)

VBScript 基础知识

一、变量

1、所有单引号后面的内容都被解释为注释。(在vbsedit中ctrl+m注释,反注释ctrl+shift+m)

2、在 VBScript 中,变量的命名规则遵循标准的命名规则,需要注意的是:在 VBScript 中对变量、方法、函数和对象的引用是不区分大小写的。在申明变量时,要显式地申明一个变量,需要使用关键字 DIm 来告诉 VBScript 你要创建一个变量,并将变量名称跟在其后。申明多个同类型变量,可以用逗号分隔。注意:VBScript
不允许在申明变量的时候同时给变量赋值。但是允许在一行代码内同时对两个变量进行赋值,中间用冒号分隔

3、你可以使用 Option Explicit 来告诉宿主变量必须先声明后使用

4、VBScript 在定义时只有一种变量类型,在实际使用中需要使用类型转换函数来将变量转换成相应的变量类型。

Cbool 函数将变量转换成布尔值;

Cbyte 函数将变量转换为 0 到 255 之间的整数。

Ccur 函数、Cdbl 函数和 Csng 函数将变量转换为浮点数值,前者只精确到小数点后四位,后两者要更加精确,数值的范围也要大的多。

Cdate 函数将变量转换为日期值。

Cint 函数和 Clng 函数将变量转换为整数,后者的范围比前者要大的多。

Cstr 函数将变量转换为字符串。

二、数组

数组的定义与变量非常类似,只需要在变量后描述这个数组的个数和维数。需要注意的是:数组的下标总是从 0 开始,而以数组定义中数值减一结束。也就是说你以要定义一个有十个数据的数组,将这样书写代码: dIm array (9),同样,当你要访问第五个元素时,实际的代码是 arr ay(4)。当然,你可以通过不指定数组的个数和维数来申明动态数组。等到数组的个数和维数固定后,使用关键字redim 来改变数组。注意,在改变数组的大小时,数组的数据会被破坏,使用关键字
preserve 来保护数据

例如:

RedIm 空格 preserve 空格 array 括号个数逗号维数括号

三、操作符

在 VBScript 运算符中,加减乘除都是我们常用的符号,乘方使用的是 ^ ,取模使用的 Mod。在比较操作符中,等于、小于、大于、小于等于、大于等于都与我们常用的符号是一致的,而不等于是小于和大于连用

逻辑运算符为:和操作—>AND 非操作—>NOT 或操作—>OR;

你可以使用操作符 + 和操作符 & 来连接字符串,一般使用&操作符

另外还有一个比较特殊的操作符 Is 用来比较对象,例如按钮对象,如果对象是同一类型,结果就是真,如果对象不是同一类型,结果就是假

四、条件语句

主要有 if……then 语句和 selectcase 语句两种形式

在 if……then 语句中,其基本形式为:

If 条件 then

处理条件的语句;

……

Endif

基本形式只能对单个条件进行验证,如果有两个条件,则需要在基本形式中添加单行语句 else ,如果还有更多的条件需要验证,则需要添加语句Elseif 条件 then处理条件语句

在 selectcase 语句中,其基本形式为:

Select case 变量

Case 条件值

处理条件语句

并对上两句进行重复

最后一句应为

case else

处理语句

当然不要忘记将条件结束语句 End select 放在最后一行

注意:在执行字符串比较时,需要特别注意大小写,一般情况下,我们在比较前,使用 lcase函数将字符串转换成小写,使用 ucase 函数将字符串转换成大写大写

五、循环控制语句

循环控制语句有 for ……next 循环、 for ……each 循环、 do……while 循环、 do……until 循环、 while循环五种形式。

在使用循环控制语句前,首先要对循环条件进行判断,如果循环次数是有固定次数的,那么使用 For……next 循环,其结构为:

For 计数器变量=开始计数值 to 最后计数值

执行循环体

Next

如果是需要对数组或对象集合中的每一个元素进行判断,则需要使用 for ……each 循环,其结构为:

For each 循环计数变量 in 要查看的对象或数组

执行处理语句

Next

注意:在上述两种循环中随时可以使用 exit for 来退出循环

如果你希望在条件满足时执行一段代码则使用 do……while 语句,结构为:

Do while 条件

执行循环体

Loop

如果你希望在条件不满足时执行代码,则使用 do……until 语句,结构为:

Do until 条件

执行循环体

Loop

当然,在这两种循环语句中,你可以使用 exit do 来退出循环最后一种循环语句是条件满足时一直执行循环

While 条件

执行循环体

Wend

六、使用过程

常用的过程有两种,一种为函数,给调用者返回值,一种为子程序,无返回值,还有一种叫事件的特殊子程序,用的比较少。

函数的基本定义方法为:

Function 函数名称(参数列表)

函数代码

函数名称=某值 ‘用来返回值

end function

子程序一些都类似,不过没有返回值

注意:尽管在定义子程序的时候,参数列表要加括号,但在调用子程序的时候,参数列表不加括号,括号只在函数中使用。另外,子程序不能在表达式中使用。而函数只能出现在赋值语句的右边,或者表达式中,函数不能直接使用,如果必须直接使用函数,则必须使用
call 语句调用,并取消返回值

VBS学习日记(二)

时间: 2024-07-31 17:44:39

VBS学习日记(二)的相关文章

VBS学习日记(二) 基础知识

VBScript 基础知识 一.变量 1.全部单引號后面的内容都被解释为凝视.(在vbsedit中ctrl+m凝视,反凝视ctrl+shift+m) 2.在 VBScript 中,变量的命名规则遵循标准的命名规则,须要注意的是:在 VBScript 中对变量.方法.函数和对象的引用是不区分大写和小写的.在申明变量时,要显式地申明一个变量,须要使用keyword DIm 来告诉 VBScript 你要创建一个变量,并将变量名称跟在其后.申明多个同类型变量,能够用逗号分隔.注意:VBScript 中

VBS学习日记(一个) 开始了解

Vbs 一个 Windows 脚本,其代表 :Microsoft Visual Basic Script Editon.( 微软可视化BASIC 脚本版),VBS 是 Visual Basic 的的一个抽象子集.是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由 Windows 系统运行(实际是一个叫做宿主 host 的解释源码并运行),高效.易学,可是大部分高级语言能干的事情.它基本上都具备,它能够使各种各样的任务自己主动化.能够使你从反复琐碎的工作中解脱出来.极大的提高工作效率.

微信开发学习日记(二):3个案例

上次是调通了"消息来自微信请求"一个请求验证接口.    今天下午,正式进军微信开发,完成了3个案例的demo,测试通过. 上次,提到读了5本书,4本PHP描述的,一本Java描述的.个人专注Java开发7年了,更倾向于用Java,当然PHP也要立即着手深入学习了.今天好几个PHP的外包项目,感觉太麻烦,都拒绝了. Java的书,柳峰写的那本就非常好,至少可以用Good描述,Perfect的话,要看是否还有更多更优秀Java语言相关的微信书籍. 那本书的源码,网上都有,下载下来之后,全

Linux学习日记(二)

在linux上运行.Net程序 并安装Linux网站 一.环境 ubuntu14.10(桌面版 官网下载的最新版) jexus5.6.3 正式版 MonoDevloper (安装完后里面有个Ubuntu软件中心 搜一下点击安装它会自动帮你把需要的环境装好) 注:我所有程序都是基于DotNet FrameWork4.0的 二.愉快的玩耍 2.1 运行一般的应用程序 由于我是用的virtualbox 开的是桥接网络,所以我在自己本机假设一个FileZillaServer(ftp的服务器),便于把网站

暑期学习日记二—利用扩展欧几里得求逆元

最近学习了扩展欧几里得和乘法逆元的关系,在这里写一下巩固一下记忆 扩展欧几里得是什么呢,在这就不详解了,可以自行百度,主要来说,对于 求解ax ≡ 1(mod n)来说,当gcd(a,n)=1时,证明逆元存在,若不等于1,则证明逆元不存在. 那么当逆元存在时,我们要如何求它的逆元呢? 首先是扩展欧几里得定理,先将式子转换成 ax-ny = 1 的形式,然后我们要通过扩展欧几里得定律去获得它的最大公约数,还有它的一组解 X0,Y0 1 int exgcd(int a, int b, int &x,

JSP学习日记(二)

JSP 指令 (JSP Directive) page指令 include指令 taglib指令 语法:<%@ 指令名称  属性值  属性值 --- %> page指令用来定义JSP文件的全局属性<%page 属性="值" %> include指令,用来静态包含页面----------将页面公共部分提取出来,通过include完成页面布局 语法:<%@ include file="文件路径" %> include包含目标页面整个内

Python学习日记(二十七) 反射和几个内置函数

isinstance() 判断isinstance(obj,cls)中obj是否是cls类的对象 class Person: def __init__(self,name): self.name = name p = Person('Jane') print(isinstance(p,Person)) #True issubclass() 判断issubclass(sub,super)中sub是否是super类的派生类 class Person: def __init__(self,name):

Python学习日记(二十九) 网络编程

早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息 由于不同机器之间需要通信就产生了网络 软件开发的架构 1.C/S架构 服务器-客户机,即Client-Server架构,C/S架构通常采取两层结构.Sever负责数据的管理,Client负责完成与用户的交互任务 这里来说Client主要是某个应用软件的exe文件,程序要在安装后,才能运行在用户电脑上. 例如:QQ.微信.网易云音乐等 2.B/S架构 浏览器端-服务器,即Browser-Sever

Android Gradle编译学习日记之二(使用 Gradle 编译 Eclipse,引入依赖资源以及迁移 Android Studio)

大家如果喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 Android Gradle编译学习日记(基于 Android Studio 1.0): Android Gradle编译学习日记之一(搭建 Gradle 环境以及编译 Android 应用) 在上一篇文章中,我简单介绍了一个 Gradle 环境变量的搭建,以及如何使用 Gradle 编译 Android