深入Scripting Runtime Library 之一[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 technofantasy 的 blog

深入scripting runtime library 之一

www.applevb.com


    什么是scripting runtime library?按照一般的说法,scripting runtime library(以下简称sr)提供了微软
“忘记”放到visual basic中的基本的文件系统操作函数何对象。
    点击菜单的 project | referrences 项,在references选择窗口的references列表中选择 microsoft scripting runtime
项。然后单击 “确定”键选择退出就可以将scripting runtime library加入到vb工程文件中。(在下面的程序中在
添加代码之前都要执行这一步操作,凡是在下面提到加入sr库,都是指这一步)一个sr对象包括filesystemobject
对象和directionary对象,分别对应文件系统操作和字典操作。
    例如 dim fsosys as new scripting.filesystemobject 就定义了一个filesystemobject对象
    filesystemobject对象包含获取驱动器信息的drive对象;对文件进行复制、删除、移动等操作的file对象;对
文件夹进行建立、复制、删除、移动和获取文件夹下的文件和子文件夹的folder对象;建立、读取、写入文本文件的
textstream对象。下面对这些对象的属性和操作方法进行分门别类的介绍
    一、对于驱动器drive对象的操作
    通过一个drive对象可以获得该对象定义的驱动器的容量、属性等信息,使用filesystemobject对象的getdrive方
法可以得到一个drive对象。
    下面是一个drive对象操作的范例。
    首先在vb中建立一个新的工程。加入sr库。然后在form1中加入一个listbox控件、一个picturebox不要改变它们
的属性,然后在form1的代码窗口中加入以下代码:
option explicit

dim fsosystem as new filesystemobject
dim fsodrives as drives
dim fsodrive as drive

private sub form_load()
    dim sdrive as string
    dim sdrivetype as string
    dim bhascdrom as boolean

    set fsodrives = fsosystem.drives
    for each fsodrive in fsodrives
        sdrive = fsodrive.driveletter & ": "
        select case fsodrive.drivetype
            case 0: sdrivetype = "未知类型驱动器"
            case 1: sdrivetype = "可移动驱动器"
            case 2: sdrivetype = "固定驱动器"
            case 3: sdrivetype = "远程驱动器"
            case 4: sdrivetype = "cdrom驱动器"
            case 5: sdrivetype = "ram disk"
        end select

        if fsodrive.drivetype = cdrom or fsodrive.drivetype = cdrom then
            bhascdrom = bhascdrom or fsodrive.isready
        end if
        sdrive = sdrive & sdrivetype
        list1.additem (sdrive)
    next
end sub

private sub form_unload(cancel as integer)
    set fsosystem = nothing
end sub

private sub list1_click()
    dim astr$
    dim fsodrive as drive
    if list1.listindex > -1 then
        astr = left$(list1.list(list1.listindex), 1)
        set fsodrive = fsosystem.getdrive(astr)
        '检查驱动器是否准备好
        if not fsodrive.isready then
            msgbox ("该驱动器未准备好或未插入磁盘")
            exit sub
        end if
        '输出驱动器信息
        with picture1
            .cls
            .currentx = 30: .currenty = 30
            picture1.print "总容量" + format$(fsodrive.totalsize, _
                "###,###,###,###,###,##0") + " 字节"
            picture1.print "可用容量" + format$(fsodrive.availablespace, _
                "###,###,###,###,###,##0") + " 字节"
            picture1.print fsodrive.driveletter & ": 使用的文件系统为: " & _
                fsodrive.filesystem
        end with
        set fsodrive = nothing
    end if
end sub
    运行程序,程序检测系统中所有的可用驱动器。然后将它们在list1上列出来,点击list1上的驱动器列表项,
该驱动器的基本信息就会显示在picture1上,如果该驱动器未准备好(例如未插入磁盘或光盘),程序就会出现

本文关键:深入Scripting Runtime Library 之一
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top