VBScript主要的对象

2024-01-08 22:48
文章标签 对象 主要 vbscript

本文主要是介绍VBScript主要的对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VBScript作为脚本语言不仅能够编写简单的脚本,而且还能够创建及使用对象编写复杂的脚本,如Class对象,数据字典,操作文件夹及文件,错误处理,正则表达式等等。

1. Class对象
2. Dictionary对象
3. FileSystemObject对象
4. Err对象
5. RegExp对象

1. Class对象

使用Class语句可以创建一个对象,可以为它编写字段、属性及方法,它只有两个对象事件——InitializeTerminate。首先来看一个简单的Class示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Class  User
     '私有字段,也可以使用Public语句定义公有字段
     Private  m_UserName
     Private  m_Profile
     'Initialize事件相当于构造函数
     Private  Sub  Class_Initialize
         m_UserName = Empty   '设置UserName初始值为空字符串
     End  Sub
     'Terminate事件相当于析构函数
     Private  Sub  Class_Terminate
         Set  m_Profile = Nothing    '将对象设置为Nothing,销毁对象
     End  Sub
     'Property Get语句,获取属性值或对象引用,Default只与Public一起使用,表示该属性为类的默认属性
     Public  Default  Property  Get  UserName
         UserName = m_UserName
     End  Property
     'Property Let语句,设置属性值
     Public  Property  Let  UserName(newUserName)
         m_UserName = newUserName
     End  Property
     Public  Property  Get  Profile
         Set  Profile = m_Profile
     End  Property
     'Property Set语句,设置属性对象引用
     Public  Property  Set  Profile(newProfile)
         Set  m_Profile = newProfile
     End  Property
     'ToString方法
     Public  Function  ToString()
         ToString = "Hello! "  & Me .UserName   'Me相当于C#中的this关键字
     End  Function
End  Class

用VBScript创建的对象并不是真正的面向对象,它不能继承和实现多态,但是在QTP对象模型Utility中,提供了一个RegisterUserFunc方法可以覆写对象的方法,但这也不是真正意义上的面向对象。Class及其成员如何创建,上面已经简单介绍过,若要对其中的一些语句进一步了解,还需要去仔细阅读一些参考文档。下面我们来看看如何调用对象,在《VBScript基础上》变量赋值中也已经提到过。

1
2
3
4
Dim  u                  '定义对象变量名,注意变量名不能与类名相同,即使是大小写不同
Set  u = New  User       '创建对象用New语句
u.UserName = "known"    '给属性赋值
MsgBox u.ToString()    '调用方法

2. Dictionary对象

Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。下面是该对象的一个综合示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用
Dim  d
Set  d = CreateObject( "Scripting.Dictionary" )
'向Dictionary对象中添加键值对
d.Add "a" , "Known"     'Add方法第一个参数是Key值,第二个是Item值
d.Add "b" , "Christina"
d.Add "c" , "test"
d.Add "d" , "fuck"
Call  ShowDictionary(d)
'遍历Dictionary对象,更改Item值
For  i = 0 To  d.Count - 1     'Count返回Dictionary对象中的项目数
     If  d.Exists( "c" ) Then     'Exists判断Dictionary对象中是否存在指定关键字
         d.Item( "c" ) = "Test"  'Item返回Dictionary对象中指定Key的Item值
     End  If
Next
d.Remove( "d" 'Remove从Dictionary对象中删除一个关键字,项目对。
Call  ShowDictionary(d)
'输出Dictionary对象所有键值
Sub  ShowDictionary(dic)
     Dim  str, a
     a = dic.Items  'Items返回一个包含所有Item值的数组
     For  i = 0 To  dic.Count - 1
         str = str & a(i) & vbCrlf
     Next
     MsgBox(str)
End  Sub

3. FileSystemObject对象

FileSystemObject对象可以操作驱动器、文件夹及文件,其对象模型包含下面的对象和集合。

对象/集合 描述
FileSystemObject 主对象。包含用来创建、删除和获得有关信息,以及通常用来操作驱动器、文件夹和文件的方法和属性。和该对象相关联的许多方法,与其他 FSO 对象中的方法完全相似;它们是为了方便才被提供的。
Drive 对象。包含用来收集信息的方法和属性,这些信息是关于连接在系统上的驱动器的,如驱动器的共享名和它有多少可用空间。请注意,"drive" 并非必须是硬盘,也可以是 CD-ROM 驱动器,RAM 磁盘等等。并非必须把驱动器实物地连接到系统上;它也可以通过网络在逻辑上被连接起来。
Drives 集合。提供驱动器的列表,这些驱动器实物地或在逻辑上与系统相连接。Drives 集合包括所有驱动器,与类型无关。要可移动的媒体驱动器在该集合中显现,不必把媒体插入到驱动器中。
File 对象。包含用来创建、删除或移动文件的方法和属性。也用来向系统询问文件名、路径和多种其他属性。
Files 集合。提供包含在文件夹内的所有文件的列表。
Folder 对象。包含用来创建、删除或移动文件夹的方法和属性。也用来向系统询问文件夹名、路径和多种其他属性。
Folders 集合。提供在 Folder 内的所有文件夹的列表。
TextStream 对象。用来读写文本文件。

FileSystemObject对象所有属性、方法及对象和集合的详细说明,您可以查阅参考文档,因为内容比较多,我们就看一个简单的示例,直观地来了解一下该对象的使用,该示例是将一个文件复制到指定文件夹下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'定义并创建对象
Dim  fso, filePath, folderPath
Set  fso = CreateObject( "Scripting.FileSystemObject" )
filePath = "C:\\Test.txt"
folderPath = "D:\\Test"
Call  MoveFile(filePath, folderPath)
'将文件移动到指定文件夹
Sub  MoveFile(sourceFile, targetFolder)
     Dim  file, fileName
     '获取文件对象
     Set  file = fso.GetFile(sourceFile)
     '判断目标文件夹是否存在
     If  Not  fso.FolderExists(targetFolder) Then
         fso.CreateFolder(targetFolder)
     End  If
     '将文件移动到目标位置
     file.Move(targetFolder & "\\"  & file.Name)
End  Sub

4. Err对象

Err对象是一个具有全局范围的内部对象,不必在代码中创建它的实例,含有关于运行时错误的信息。主要属性有Description、HelpContext、HelpFile、Number、Source,主要方法有Clear、Raise,其属性及方法的详细说明详见参考文档。下面的示例说明了Err对象的用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'示例1:
On  Error  Resume  Next
Err.Raise 6  '产生溢出错误
MsgBox( "Error #"  & CStr (Err.Number) & " "  & Err.Description)
Err.Clear
'示例2:
'定义数据库连接
Dim  conn
Set  conn = CreateObject( "ADODB.Connection" )
conn.BeginTrans  '开始事务
...
'提交数据库事务错误处理
On  Error  Resume  Next
If  conn.Errors.Count > 0 Then
     conn.RollbackTrans  '回滚事务
Else
     conn.CommitTrans    '提交事务
End  If
Err.Clear

5. RegExp对象

RegExp是正则表达式对象,提供简单的正则表达式支持功能。主要属性有Global、IgnoreCase、Pattern,主要方法有Execute、Replace、Test,其属性及方法的详细说明详见参考文档。下面的示例说明了RegExp对象的用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function  RegExpTest(patrn, strng)
     Dim  regEx, match, matches            '建立变量。
     Set  regEx = New  RegExp               '建立正则表达式。
     regEx.Pattern = patrn                '设置模式。
     regEx.IgnoreCase = True               '设置是否区分字符大小写。
     regEx.Global = True                   '设置全局可用性。
     Set  matches = regEx.Execute(strng)   '执行搜索。
     For  Each  match in matches            '遍历匹配集合。
         retStr = retStr & "Match found at position "
         retStr = retStr & match.FirstIndex & ". Match Value is '"
         retStr = retStr & match.Value & "'."  & vbCRLF
     Next
     RegExpTest = retStr
End  Function
MsgBox(RegExpTest( "is." , "IS1 is2 IS3 is4" ))

这篇关于VBScript主要的对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585105

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

便携式气象仪器的主要特点

TH-BQX9】便携式气象仪器,也称为便携式气象仪或便携式自动气象站,是一款高度集成、低功耗、可快速安装、便于野外监测使用的高精度自动气象观测设备。以下是关于便携式气象仪器的详细介绍:   主要特点   高精度与多功能:便携式气象仪器能够采集多种气象参数,包括但不限于风速、风向、温度、湿度、气压等,部分高级型号还能监测雨量和辐射等。数据采集与存储:配备微电脑气象数据采集仪,具有实时时钟、数据存

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

分布式系统的主要考虑

异构性:分布式系统由于基于不同的网路、操作系统、计算机硬件和编程语言来构造,必须要考虑一种通用的网络通讯协议来屏蔽异构系统之间的禅意。一般交由中间件来处理这些差异。缺乏全球时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。紧密的协调经常依赖于对程序动作发生时间的共识,但是,实际上网络上计算机同步时钟的准确性受到极大的限制,即没有一个正确时间的全局概念。这是通过网络发送消息作为唯一的通信方式

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d