• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > VBS编程教程 (第5篇)

VBS编程教程 (第5篇)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs脚本编程简明教程,vbs脚本教程,vbs教程,vbs进阶教程,vbs语言教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
第五篇(共六篇): 

       请允许我县描述一下我现在的环境:气温高达37摄氏度, 而我忘记了图书馆开门的时间, 还要在这里站上一个小时, 在热带植物的包裹下, 各种奇怪的小飞虫围着我转来转去. 不过令我欣慰的是, 终于写到五了, 还有两课我们的"基础篇"就要结束了. 

       今天我们来了解语言本身的最后一个论题:数组. 

  要理解"数组", 这个概念我觉得另一种翻译对学习来说更加容易:"阵列", 没错, 数组就是一个阵列, 一个数据的阵列. 最简单的例子是数据库系统, 假设你要储存20名学生的英语成绩, 如果不是用数组, 你则要创建20个不同的变量, 累死. 数组就是类型相同(重要!)的一组数据(或者n组), 用来储存相关的量, 最简单的数组是一维数组, 我们就先来学习它吧. 

  什么是一维数组呢? 在3维以下,你可以利用几何知识来理解"维"的概念,一维相当于一条线, 二维则是一个矩形, 三维是一个长方体. 我知道这么讲是很抽象的, 我们先举个一维数组的例子就比较容易了解了. 

dim a(9) '从零开始 
for i=0 to 9 
    a(i)=i '填充每一个数组元素 
    msgbox(a(i)) '输出数组元素 
next 

  我们可以看到, 定义一个数组的方法和定义一个变量没有什么不同, 同样是使用dim语句. 定义一维数组的方法如下: 

dim 数组名(元素数量), 这里大家要注意一点, 这里定义的元素数量总是比你要的要少一个, 因为一个数组的起点是0号数据而不是1, 所以大家一定要小心: 你需要10个数据, 就定义"9", 需要100个就定义99, 依此类推. 数组的元素可以看成一个个独立的变量, 你可以像独立的变量那样使用他们. 数组元素的量可能是毫无关系的, 比如第一个数组元素储存你的年龄, 第二个储存今年西瓜的销售量, 但这种做法是不鼓励的, 甚至是不被接受的, 不要这么干, 这样的情况请定义独立的变量. for语句在数组中可算是大显身手, 还记得for吗? 它累加一个变量, 我们可以把这个变量应用在数组中正好用来读取或者填充按照顺序排列的数组元素, 上面就是这样一个例子. 数组其实是很简单的东西(再BASIC语言里面), 数组难的是怎么捣弄这些循环, 让他们按照你的要求运转. 这个等到二维数组再说, 我们先看看如何手工填充数组. 

  如果你这个都想不到的话, 那你真是白学了: 

dim name(7),str '一共八个学生, str变量是用来把他们储存成一个字符串以便输出 
for i=0 to 7 
    name(i)=inputbox("请输入第" & i+1 & "个学生的名字") 
    str=str & " " & name(i) 
next 
msgbox(str) 

  这样我们就有了一个小小的数据库, 它们的数据排列可以看成这样: 

  name(0),name(1),name(2).....name(7) 

  看到了吧, 所以我说我们可以把它看成是"一条线", 等到我们学到了文件操作, 就可以把他们输出到文件中去了. 一维数组有很多用处, 我们来看一下一个复杂的例子. 我们要储存3各学生的名字, 身高, 成绩这三种数据, 由于名字是字符串, 而身高可能是浮点数(带小数点的数), 成绩则可能是整数, 所以我们不能把他们储存在一个数组里面(不要忘记, 数组织只能存储同类的数据), 所以我们要建3个数组, 以下是例程: 

dim name(2), high(2), mark(2) '定义三个数组分别储存3个人的名字, 身高和得分 
dim ctr '计数器 
for ctr=0 to 2 
    name(ctr)=inputbox("请输入第"  & ctr+1 & "个学生的姓名") 
    high(ctr)=inputbox("请输入第"  & ctr+1 & "个学生的身高") 
    mark(ctr)=inputbox("请输入第"  & ctr+1 & "个学生的得分") 
next 

  OK, 我们已经填充好了数据, 现在我们的小小数据库只能按顺序输入, 我们要让它看起来像点样子, 我们来给他设计查询功能: 

'接着上面的程序 
dim cname, temp '要查询的名字, 和一个临时变量, 用来储存数据的位置 
cname=inputbox("请输入你要查询的名字:") 
for ctr=0 to 2 '遍历所有name数组的成员, 寻找要查询的名字 
    if name(ctr)=cname then 
        temp=ctr '记录数据位置 
        exit for '退出循环, 和exit do的用法一样 
    end if '不要忘了end if 
next 
msgbox("姓名:" & name(temp) & " " & "身高:" & high(temp) & " " & "得分:" & mark(temp)) 

  嘿嘿, 有意思吧, 其实在这个程序里面, 那个temp变量完全没有必要, 只是为了更清楚地说明问题. 因为当exit for以后ctr变量的值就不会改变, 储存的正好是对应数据在数组中的位置, 写这个temp变量是为了照顾到以后要学C++的朋友(C++可以在for语句里声明新变量, 只在这个for结构中有效, 所以到了外部就不能访问了). 也就是说可以简化成如下: 

dim cname 
cname=inputbox("请输入你要查询的名字:") 
for ctr=0 to 2 
    if name(ctr)=cname then exit for '因为只有exit for就不需要块if了 
next 
msgbox("姓名:" & name(ctr) & " " & "身高:" & high(ctr) & " " & "得分:" & mark(ctr)) 

  这是最直接的路子. 好好重读一下上面所有的源代码, 然后自己写几个程序, 完全搞清楚一维数组及其应用以后再看后面的二位数组. 二维数组好像是一个一维数组的集合, 就好像"线积成面"一样, 由n各一维数组组成二维数组, 这是初学者比较好理解的办法(比较精确的是用"编号"的概念去理解, 因为4维以上的数组就比较难以用欧几里德几何概念去解释了). 二维数组是很好解释的, 我们来看一下: 

dim a(2,2) '从零开始, 一共有3 X 3 = 9 个数据 
dim i,j '需要两个计数器 
for i=0 to 2 
    for j=0 to 2 '使用嵌套循环 
        a(i,j)="X" 
    next 
next 

  我们创建了一个这样的二维数组(那些","是我用来分割元素的,并不存在), 了解二维数组的了吗? 不清楚我们再讲一下 

编号 0 1 2 
0    X,X,X 
1    X,X,X 
2    X,X,X 

  二维数组的看起来是不是就是一个矩形呢?(你在内存中看不到这样的矩形, 只是便于你理解), 每个数据都有编号, 由两个数来定位, 这个很像(非常像)你在国际象棋棋盘上寻找一个格, 我们用类似"C6","A2"这样的"垂直坐标"进行定位, 对, "垂直坐标", 很确切. 我们要使用一个二维数组元素的时候可以和普通变量一样使用, 只要指定数组元素的"定位点"就可以了, 例如 

a(0)(1)=1, b(2)(1)="你好", 诸如此类. 要注意的是二维数组也只能储存类型相同的元素, 而且上标(起点)也从0开始. 计算一个二维数组的元素个数只要把两个下标+1(以得到实际的值)再乘起来就可以了, 非常类似于求一个矩形的面积. 

  假如需要储存的都是同一类型的数据, 我们就可以用二维数组, 比如要储存5个人的姓名,国籍,民族, 就可以使用二维数据 

dim info(4,2) '一共五个人, 要储存的数据类型有3项 
dim i,j 
for i=0 to 4 
    for j=0 to 2 
    dim opt '定义一个变量用于存储数据项提示 
        select  case j '判断应该输入的是什么数据    &n

您可能想查找下面的文章:

  • Vbs 脚本编程简明教程之一
  • VBS编程教程第一部
  • VBS基础编程教程 (第6篇)
  • VBS基础编程教程 (第5篇)
  • VBS基础编程教程 (第4篇)
  • VBS基础编程教程 (第3篇)
  • VBS编程教程 (第2篇)
  • VBS基础编程教程 (第1篇)
  • VBS编程教程 (第6篇)
  • VBS编程教程 (第5篇)

相关文章

  • 用VBS写的VBSCRIPT代码格式化工具VbsBeautifier
  • vbs 获取当前目录的实现代码
  • vbscript禁用 启用fso的方法
  • VBS中转换二进制数据为字符串常用办法
  • VBS实现查询服务的制造商
  • VBS教程:运算符-Or 运算符
  • 使用 Adsutil.vbs iis管理脚本
  • VBScript教程 第十一课深入VBScript
  • vbs复制文件夹的实现代码
  • VBS教程:方法-Add 方法(Dictionary)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • VBS教程:VBScript 与窗体
    • VBS常用脚本 好东西
    • VBS教程:方法-Read 方法
    • VBA中的Timer函数用法
    • VBS教程:函数-IsObject 函数
    • vbs xmldom初次实战获取QQ签名的代码
    • VBS教程:方法-GetBaseName 方法
    • 利用wsc制作的一个asp后门
    • VBS教程:函数-Day 函数
    • VBS教程:函数-Asc 函数

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有