java vbs_VBS基础篇 - vbscript Dictionary对象

Dictionary是存储数据键和项目对的对象,其主要属性有Count、Item、Key,主要方法有Add、Exists、Items、Keys、Remove、RemoveAll。

创建Dictionary对象

'定义并创建Dictionary对象,使用CreateObject创建并返回自动化对象的引用

Dim Dic

Set Dic = CreateObject("Scripting.Dictionary")

添加键值

Dim Dic

Set Dic = CreateObject("Scripting.Dictionary")

'向Dictionary对象中添加键值对

Dic.Add "Name", "Sirrah" 'Add方法第一个参数是Key值,第二个是Item值

Dic.Add "Age", 23

删除键值

Dim Dic

Set Dic = CreateObject("Scripting.Dictionary")

Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对

Dic.Add "Age", 23

Dic.Item("Age") = 22 '修改键Age的值

MsgBox Dic.Item("Age") '输出22

判断键是否存在

Dim Dic

Set Dic = CreateObject("Scripting.Dictionary")

Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对

Dic.Add "Age", 23

MsgBox Dic.Exists("Age") '判断键是否存在

输出所有键值

输出Dictionary对象所有键值,这边将介绍2种常用的循环方法,具体代码如下:

Dim Dic,Dics

Set Dic = CreateObject("Scripting.Dictionary")

Dic.Add "Name", "Sirrah" '向Dictionary对象中添加键值对

Dic.Add "Age", 23

Dics = dic.Items 'Items返回一个包含所有Item值的数组

For i = 0 To dic.Count - 1 'Count返回Dictionary对象键数目

str = str & Dics(i) & vbCrlf

Next

MsgBox(str)

Dim Dic,Dics

Set Dics = CreateObject("Scripting.Dictionary")

Dics.Add "Name", "Sirrah" '向Dictionary对象中添加键值对

Dics.Add "Age", 23

For Each Dic In Dics '循环遍历Dictionary键,并输出键值

MsgBox Dics.Item(Dic)

Next

补充一个实例

脚本文件:a.vbs,包含字典的添加、删除、判断键是否存在、修改键、修改值、遍历、统计键值对个数

'建立字典

Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")

'添加键值对

Dict.Add "Key1", "Item1"

Dict.Add "Key2", "Item2"

Dict.Add "Key3", "Item3"

'字典中键值对数量

WScript.Echo "字典中现有键值对数量: " & Dict.Count '让一个脚本在屏幕上显示文本信息

WScript.Echo

'检查指定键是否存在

If Dict.Exists("Key1") Then

WScript.Echo "Key1 存在!"

Else

WScript.Echo "Key1 不存在!"

End If

If Dict.Exists("Keyn") Then

WScript.Echo "Keyn 存在!"

Else

WScript.Echo "Keyn 不存在!"

End If

WScript.Echo

'遍历字典

Sub TraverseDict

Dim DictKeys, DictItems, Counter

DictKeys = Dict.Keys

DictItems = Dict.Items 'Items返回一个包含所有Item值的数组

For Counter = 0 To Dict.Count - 1 'Count返回Dictionary对象键数目

WScript.Echo _

"键: " & DictKeys(Counter) & _ '& 字符串连接运算符

"值: " & DictItems(Counter)

Next

End Sub

TraverseDict

WScript.Echo

'在一个键值对中,修改键或修改值

Dict.Key("Key2") = "Keyx"

Dict.Item("Key1") = "Itemx"

TraverseDict

WScript.Echo

'删除指定键

Dict.Remove("Key3")

TraverseDict

WScript.Echo

'删除全部键

Dict.RemoveAll

WScript.Echo "字典中现有键值对数量: " & Dict.Count

调用方法:通过双击a.bat调用,a.bat代码如下:

cscript a.vbs

pause

运行结果截图:

f6bd3e74ad56041ca583369adb6f733d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java integer最大值_五分钟学会java中的基础类型封装类

在刚刚学习java的时候,老师不止一次的说过java是一种面向对象的语言,万物皆对象。对于java中的基础数据类型,由于为了符合java中面向对象的特点,同样也有其封装类。这篇文章对其有一个认识。一、基本认识其实在jdk1.5之前&#xf…

hadoop 单节点安装

http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html ,一,.安装hdfs1,hadoop-env.sh修改java_home2,core-site加入1,注意使用主机名映射2,端口使用:80203,缓存目录&#xff0…

web.xml文件位于web项目的目录结构中的_看完这篇,别人的开源项目结构应该能看懂了...

我为什么要写这篇近来,和不少初学Spring或Spring Boot的小伙伴私信交流了关于项目目录结构划分和代码分层的问题。很多小伙伴表示网上下载下来的开源项目看不懂,项目结构和代码分层看得很蒙,不知道应该以一个什么样的思路去学习和吸收别人的项…

06-CABasicAnimation基础核心动画

06-CABasicAnimation基础核心动画 核心动画只作用在层上面. 动画的本质是改图层的某一个属性. CABasicAnimation *anim [CABasicAnimation animation]; 图层有哪些属性,这里才能写哪些属性. anim.keyPath "transform.scale"; anim.toValue 0.5; 告诉动画完成的时候…

java 异常 理解_java异常理解(1)

JAVA异常处理机制1引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看…

python turtle 绘图速度用函数会快吗_有趣的Python turtle绘图

专 题 Feature Story 16 \ China Science & Technology Education 文 _ 毛京宇/北京师范大学第三附属中学 魏云靖/北京市师达中学 有趣的 Python turtle 绘图  Python turtle 的发展 Python 中的 turtle 模块受启发于在欧美有 着广泛基础且历史悠久…

网络导通概率的研究

最近老师给了一个题目,说是研究一个正常矩阵任意概率置点概率下,双向导通(x,y)的概率(要求有自然边界条件,也就是可以从0->length-1),用代码敲了一下demo,结果发现有个…

在java中字符流怎么复制_Java 使用字符流拷贝数据

使用字符流拷贝数据时,需要注意在文件末尾处的数据,因为最后一次读取的长度不会刚好与数组input长度相同,所以需要引入新的变量来存储每次读取的长度。import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExcep…

mysql workbench中文设置_使用Workbench完成流体压力渗透分析

“之前的案例,APDL Showcase3里使用到了流体压力渗透载荷。有朋友读到以后,希望能在Workbench里实现这一功能。有需求就有动力,我们来试一试。 ”01—结果展示先看计算结果:(为了截图方便将模型旋转了90度)该案例为轴对称模型&…

总结下用Vue.js和webpack遇到的问题

这段时间用vue.jswebpack做一个单页应用的demo,第一次尝试模块化,技术水平有限,学习不够深入,总是遇到各种问题,所谓前事不忘后事之师,so记录下。 1.ES6匿名函数里面this值 结合webpack,使用Bab…

java+session+存在哪_JAVA中Session

会话状态的维持是开发Web应用所必须面对的问题,有多种方法可以来解决这个问题,如使用Cookies,hidden类型的表单域,或直接把状态信息加到URL中等,还有Servlet本身提供了一个HttpSession接口来支持会话状态的维持&#x…

ddns客户端_DDNS哪家最方便?试试看Mikrotik的ROS!

没有固定IP的情况下,想要提供外网访问,那么DDNS是必不可少的一个设置。DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务。需要注意的是,不是域名是动态的…

手机网页里的模态对话框

今日帮朋友写了一个手机网页里用的模态对话框,防止自己日后忘记,所以mark一下。原理很简单,当弹出了模态对话框的时候,就是touchmove事件进行监听,如果是对话框的touchmove事件,就允许拖动,其他…

python最好用的画图工具_python Matplotlib.plot 超好用的画图技巧,总有一条用得到!...

低阶通用模板 import numpy as np import matplotlib.pyplot as plt # 数据准备 xnp.linspace(0,10,num30) ynp.sin(x) znp.cos(x) # 设置画布大小 plt.figure(figsize(6, 3)) # plot 画x与y和x与z的关系图 plt.plot(x,y,labelsin(x),colorred, linewidth1,markero,markersize3…

java join使用实例_Java多线程中关于join方法的使用实例解析

先上代码新建一个thread,代码如下:package com.thread.test;public class mythread extends thread {private string name;public mythread(string name) {this.name name;}overridepublic void run() {for (int i 0; i < 100; i) {system.out.println(name"["i…

iptables禁止端口和开放端口

1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。 下面是命令实现&#xff1a; iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP 再用命令 iptables -L -n 查看 是否设置好&#xff0c; 好看到全部 DROP 了 这样的设置好了&#xff0c;我们只…

python中级程序员是什么水准_程序员进阶:一篇搞懂Python中级应用

异常处理&#xff1a;try-except 异常即是一个事件&#xff0c;该事件会在程序执行过程中发生&#xff0c;影响了程序的正常执行。一般情况下&#xff0c;在Python无法正常处理程序时就会发生一个异常。 异常是Python对象&#xff0c;表示一个错误。当Python脚本发生异常时我们…

python做excel表格代码_[宜配屋]听图阁

安装两个库&#xff1a;pip install xlrd、pip install xlwt1.python读excel——xlrd2.python写excel——xlwt1.读excel数据&#xff0c;包括日期等数据#codingutf-8import xlrdimport datetimefrom datetime import datedef read_excel():#打开文件wb xlrd.open_workbook(rte…

语文高考识记现代汉字的字形【转】

要点导读&#xff1a;基础知识&#xff0c;既是得分重点&#xff0c;也是常见失分点&#xff0c;13个状元帮你牢记易错知识点&#xff0c;13位名师助你剖析易误点&#xff0c;让你6月7号考场不再有失分点。 备考启示&#xff1a;误点总结&#xff0c;全面剖析&#xff0c;多记…

python分布式框架_高性能分布式执行框架——Ray

Ray是UC Berkeley RISELab新推出的高性能分布式执行框架&#xff0c;它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式&#xff0c;具有比Spark更优异的计算性能。 Ray目前还处于实验室阶段&#xff0c;最新版本为0.2.2版本。虽然Ray自称是面向AI应用的分布式…