qiufeng022
路人甲
路人甲
  • 注册日期2004-05-17
  • 发帖数7
  • QQ
  • 铜币141枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1428回复:3

在AO中如何删掉一个shapefile文件?

楼主#
更多 发布于:2004-08-25 17:14
在AO中如何删掉一个shapefile文件?希望高人指点,虽然很简单,但是我没找到。
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2004-08-30 10:09
是删除文件吗?还是删除geodatbase里的数据集?如果是删除文件,可以直接对文件操作,不需要使用ao的接口了
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
destnity
路人甲
路人甲
  • 注册日期2004-03-25
  • 发帖数341
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-08-30 13:15
Public Function DeleteFile(sDir As String, sName As String) As Boolean
  On Error GoTo EH
  
  Dim pDS As IDataset
  
  ' try shapefile
  Dim pFClass As IFeatureClass
  Set pFClass = dbUtil.OpenShapeFile(sDir, sName)
  If (Not pFClass Is Nothing) Then
    Set pDS = pFClass
    pDS.Delete
    DeleteFile = True
    Exit Function
  End If
  
  ' try raster
  Dim pRD As IRasterDataset
  Set pRD = dbUtil.OpenRasterDataset(sDir, sName)
  If (Not pRD Is Nothing) Then
    Set pDS = pRD
    pDS.Delete
    DeleteFile = True
    Exit Function
  End If
  
  ' try tin
  Dim pTin As ITin
  Set pTin = dbUtil.OpenTin(sDir, sName)
  If (Not pTin Is Nothing) Then
    Set pDS = pTin
    pDS.Delete
    DeleteFile = True
    Exit Function
  End If
  
  ' try ordinary file
  Dim fs As FileSystemObject
  Set fs = New FileSystemObject
  If (fs.FileExists(sDir ; "\" ; sName)) Then
    fs.DeleteFile (sDir ; "\" ; sName)
    DeleteFile = True
    Exit Function
  End If
  
  DeleteFile = False
  Exit Function
EH:
  SetError 1, Err.Description
  DeleteFile = False
End Function
签 名: 不能超过 250 个字符 文字将出现在您发表的文章的结尾处。
举报 回复(0) 喜欢(0)     评分
destnity
路人甲
路人甲
  • 注册日期2004-03-25
  • 发帖数341
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-08-30 13:20
<P>也可以直接采用filesystemobject 来做处理,主要是对shp file family 的几个扩展名文件分别删除即可。</P><P>.shp ,.shx ....</P>
签 名: 不能超过 250 个字符 文字将出现在您发表的文章的结尾处。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部