发布于:2003-12-30 00:38:30
来自:建筑设计/CAD下载及教程
[复制转发]
陈广宇
由于国家大力推广CAD的应用,越来越多的企事业单
位运用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—activa
全部回复(1 )
只看楼主 我来说两句 抢板凳