广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    VBS脚本程序的数组排序

    来源:网络收集  点击:  时间:2024-04-14
    【导读】:
    在VBS的脚本程序里面没有查到可以用于排序的函数,至于调用系统上面的其他排序功能又没有学到家,为此问题也摸索了好久,终于找到了可以处理的方法,这些方法看起来有点笨拙,也算是可以练练手,以后遇到需要的时候可以套上去。工具/原料more计算机Windows 7方法/步骤1/7分步阅读

    思路解读:

    vbs脚本程序里面没有最大、最小之类的函数,自然不能使用这些函数功能逐一的从数组里面挑选出最大值进行排序(即:数组里面挑选出最值之后把原来的位置替换成空白)。

    既然没有最值函数功能,那就采用逐一比较的方法筛选出最值,然后再进行排序,想起来确实有点复杂。即使再复杂,也要有所行动,才会有收获。

    2/7

    电脑上面新建一个空白的文本文档,在文本文档里面输入以下VBS脚本程序代码并保存。

    Dim e1, e2, e3, e4, e5, e6, myArray(7), str

    On Error Resume Next 忽略可能出现的错误

    Randomize 随机数生成器初始化

    For e1 = 0 To 7

    myArray(e1) = Int(Rnd() * 90 + 10) 生成8个10-100之间的随机正整数

    Next

    For e2 = 0 To 7 对数组里面的8个数进行逐一执行

    e5 = 8 - e2 每次执行时最大值出现的次数

    For e3 = 0 To 7

    e6 = 0 e6初始化为0

    If myArray(e3) Then 如果对应数组里面的数值不是空白,则

    For e4 = 0 To 7

    If myArray(e4) Then

    If myArray(e3) - myArray(e4) = 0 Then 如果它们的差值大于或等于0,则

    e6 = e6 + 1 e6递增1

    End If

    End If

    If e6 = e5 Then 如果累计的最大值出现的次数满足条件,则

    Exit For 退出For循环

    End If

    Next

    If e6 = e5 Then

    If str = Then 如果Str第一个字符为空白,则把数组的值赋给Str

    str = myArray(e3)

    Else

    str = str , myArray(e3) 否则就使用Str + ,+ 数组的值拼接起来

    End If

    myArray(e3) = 对应的数组值置空白

    Exit For

    End If

    End If

    Next

    Next

    MsgBox 随机数由大到小排序: Chr(10) str

    3/7

    vbs脚本程序解读:

    在此程序里面,并没有出现陌生的程序函数,主要的还是For函数的嵌套使用。第一个for主要是用于生成随机的8个数并赋值到数组里面相应的位置。

    第二个for可以理解为对数组里面的8个数进行逐一排序。

    第三、四个for则是对数组里面的数值进行逐一比较,然后筛选出最大值,再把原来的位置置空(以免重复比较)。

    4/7

    重命名文本文档(如:vbs随机数数组排序),同时把文本文档的后缀名改成“*.vbs”。

    5/7

    如果电脑上面文档不显示出后缀名,则依次点击文件浏览器菜单栏上面的【工具】,【文件夹选项】,【查看】,把“隐藏已知文件类型的扩展名”前面的“√”去掉并点击【确定】。(如果已经显示出后缀名,则忽略此步)

    6/7

    双击运行VBS脚本程序,将会看到生成的随机数按照大到小的顺序排序。

    7/7

    vbs脚本程序的数组排序平时的用处可能不是很大,但它可以锻炼一下思维,也可以把它移植到其他程序上面使用(如:VBA),或者稍作修改以发挥出它的功能。

    注意事项

    个人经验,仅供参考。

    编程语言VBSCRIPT
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_509114.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 07:05:09  耗时:0.033
    0.0326s