![]() ![]() |
|
在VB中直接用ODBCAPI访问数据库 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:44:56 文章录入:杜斌 责任编辑:杜斌 | |
|
|
首先,进入vb中,建立一个新的表单。在表单上建立一个驱动器列表框(drivelist),一个目录列表框(folderlist),一个检查框(subcheck),一个listview控件(filelist),两个文本框(filename,filesize)和两个按钮(cmdsearch,cmdexit)。需要注意的是listview 控件是 mscomctl.ocx 文件中一组 activex 控件的一部分。若要在应用程序中使用 listview 控件,必须将 mscomctl.ocx 文件添加到工程中。选择listview控件,点击鼠标右键,在弹出菜单中选择“属性”。在属性窗口的“列首”页中设置将要显示的列,连续按动“插入列”5次。排列好各控件的位置,然后加入以下代码: option explicit dim filesys as scripting.filesystemobject private sub cmdexit_click() end end sub private sub drivelist_change() folderlist.path = drivelist end sub private sub form_load() dim i as integer set filesys = new scripting.filesystemobject folderlist.path = left(drivelist.drive, 2) & "\" with filelist.columnheaders.item(1) .alignment = lvwcolumnleft .text = "文件名" .width = 2000 end with with filelist.columnheaders.item(2) .alignment = lvwcolumnright .text = "大小(kb)" .width = 1500 end with with filelist.columnheaders.item(3) .alignment = lvwcolumnleft .text = "类型" .width = 1500 end with with filelist.columnheaders.item(4) .alignment = lvwcolumnleft .text = "路径" .width = 2000 end with with filelist.columnheaders.item(5) .alignment = lvwcolumnleft .text = "修改时间" .width = 2000 end with end sub private sub form_unload(cancel as integer) set filesys = nothing end sub private sub cmdsearch_click() dim sfolderstart as scripting.folder set sfolderstart = filesys.getfolder(folderlist.path) filelist.listitems.clear addfiles sfolderstart if filelist.listitems.count = 0 then msgbox _ "没找到任何符合条件的文件!",vbokonly + vbinformation, "提示信息" end sub private sub addfiles(sfoldersearch as scripting.folder) dim sfolder as scripting.folder dim sfile as scripting.file dim sngfilesize as single dim lngsize as long dim itm as listitem if subcheck.value = 1 then if sfoldersearch.subfolders.count then for each sfolder in sfoldersearch.subfolders addfiles sfolder next sfolder end if end if sngfilesize = filesize * 1000 for each sfile in sfoldersearch.files with sfile if .size >= sngfilesize and iif(filename.text < > "", _ instr(.name, filename.text) > 0, true) then set itm = filelist.listitems.add(text:=.name) lngsize = .size / 1000 with itm .subitems(1) = format(lngsize, "#,###") .subitems(2) = sfile.type .subitems(3) = sfile.parentfolder .subitems(4) = sfile.datelastmodified end with end if end with next sfile set itm = nothing set sfolder = nothing end sub 运行后,选择相应目录,再在filename文本框中输入要查找的文件名或文件名的一部分,然后再在filesize文本框中输入文件的大小,按下搜索按钮即可搜索到相应文件。当然,这只是个功能较为简单的文件搜索器,有兴趣的读者可以使用scripting.filesystemobject对象的属性为其添加一些更为有用的功能。 |
|
![]() ![]() |