位运用CAD来进行绘图的工作,广大工程技术人员终于可以
摆脱绘图板和绘图笔的束缚。在CAD的天空里任意驰骋,
发挥着他们横溢的才华。随着CAD绘图的不断深入,硬盘里
的CAD图形文件越积越多。要管理这些文件通常的做法是
:运行AutoCAD,逐个文件打开,判断该文件是否还有用。
由于AutoCAD没有即时删除功能,必须手工记录没用文件
的文件名,将硬盘中的图形文件都浏览过一遍后,退出Aut
oCAD,打开文件管理器,寻找刚才手工记录的图形文件,
逐个删除。如此繁琐的管理方法,既容易出错又效率低下
,对于现今动辄就是上百兆的图形文件而言不啻于杯水车
薪,使许多人无可奈何之下只能听之任之,于是越来越多
没有用的图形文件不断堆积,使本已十分宝贵的硬盘空间
日渐缩小。难道就没有其它更简便的方法来对付它了吗?
有!笔者运用简单易学而又功能强劲的VB语言编写了下述
程序,通过该程序就可以随时将过时或没用的垃圾图形文
件删除,既节省了宝贵的硬盘空间又提高了工作效率。
下面首先介绍一下该程序的界面元素和使用方法。界
面的上半部分类似Windows程序通用的打开文件对话框,
其使用方法也类似。通过对磁盘列表和目录列表的浏览可
以遍历整个硬盘,当某个目录下存在CAD图形文件(后缀名
为.dwg)时,文件列表框便会将它们一一罗列出来。这
时只需用鼠标单击文件列表框中的文件名,该文件的内容
便在界面下部的CAD—OLE窗口中显示出来,如果确认该文
件是过时或没用的垃圾图形文件,只需单击界面右上部的D
elete按钮,该文件便立即从硬盘上“消失”(当然如果
误删的话,Win95用户可以从“垃圾桶”里将它拣回来;Wi
n3.X用户可以马上运行Undelete程序恢复该文件)。
介绍该程序的清单:
DimselectedfileAsString
PrivateSubbtnexit—Click();Exit按钮name属性
是btnexit
clear;调用Clear子程序清空CAD—OLE内容
UnloadForm1
End
EndSub
PrivateSubbtndelete—Click();Delete按钮name
属性为
;btndelete
deletefile;调用deletefile子程序删除图形文件
EndSub
PrivateSubDrive1—Change();磁盘列表框name属
性为
;Drive1
DirLPath-Drive1.Drive
EndSub
PrivateSubDir1Change();目录列表框name属性为
Dirl
FilePathΚDir1.Path
EndSub
PrivateSubFile1—Click();文件列表框name属性
为file1
getfilename;调用getfilename子程序得到文件全名
?
showfile;调用showfile子程序显示图形文件
EndSub
PrivateSubgetfilename()
IfFile1.ListIndexΛΚ0Then
selectedfileΚFile1.Path
IfRight$(selectedfile,1)ΙΛ″ι″Then
selectedfileΚselectedfile+″ι″
EndIf
selectedfileΚselectedfile+File1.List(File1
.ListIndex)
EndIf
EndSub
PrivateSubshowfile();通过OLE将图形文件全名
送往后
;台中运
OLE1.SourceDocselectedfile;行的AutoCADforWIn
dows,
;CAD打开
OLE1.ActionΚole1—activate;文件后,再通过OL
E将图形
;回送
EndSub;CADOLE控件窗口加以显示
PrivateSubdeletefile()
Killselectedfile;删除图形文件
currentfileΚFile1.ListIndex-1;文件指针上移
一位
File1.Refresh;更新文件列表框
IfFile1.ListCountΚ0Then;如果原来目录下只有
一个图形
clear;文件,由于没用后继文件可以
ExitSub;显示,清空CAD—OLE内容
EndIf
IfcurrentfileΛΚ0Then
File1.ListIndexΚcurrentfile
Else;如果删除的图形文件位于文件
File1.ListIndexΚ0;列表框首位,将文件指针指
向
EndIf;下一个文件
EndSub
PrivateSubclear()
OLE1.SourceDocΚ″d:ιacadιsupportιacad.d
wg″
OLE1.ActionΚole1—activate;清空CAD—OLE的方
法是让
;它显示
OLE1.ActionΚolel1—close;空白文件,引号中内
容因人而异
EndSub;关闭OLE连接,以节约内存占用
上述程序在编制及运行时的注意事项:
1.Windows环境下要安装有AutoCADforWindows;
2.运行本程序前要先运行AutoCAD,并缩小成图标在
后台运行以免阻挡程序界面,妨碍对图形的观看;
3.文件列表框的pattern属性应设置为*.dwg,以
使列表框仅显示CAD图形文件的文件名;
4.界面下半部的显示窗口—OLE控件的Class属性应
设置为AutoCAD;
5.OLE控件的Sizemode属性应设置为3-Zoom,以使A
utoCAD图形自动充满OLE控件框;
6.在设计界面时,拉出OLE控件VB会自动弹出insert
object对话框为了避免出现不可预见的错误,这时先别忙
于从中选择AutoCAD对象,应选择Cancle退出。而在OLE控
件的Class属性下拉菜单中选择AutoCAD对象。
看到这里,细心的读者也许发现只要改变OLE控件的C
lass属性,就可以用本程序编译成类似功能的其它文件管
理程序。例如:将Class属性设置成Photoshop或CorelDRA
W,便可利用它们强大的文件转换功能,显示和管理几十
种图形文件。其它如WORD、EXCEL、轻松表格等等总之凡是
支持OLE功能的应用程序所创建的文件都能用本程序稍加
变动后加以显示和管理。希望广大读者能从中得到启发和
享受VB轻松编程的乐趣!