Foxtable(狐表)用户栏目专家坐堂 → 关于 DeleteDirectory


  共有3148人关注过本帖树形打印复制链接

主题:关于 DeleteDirectory

帅哥哟,离线,有人找我吗?
zhsenchzhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
关于 DeleteDirectory  发帖心情 Post By:2015/1/14 15:22:00 [显示全部帖子]

执行 FileSys 的 DeleteDirectory时, 有个参数  showUI, 他有两个选项:

2: 只显示错误对话框,隐藏进度对话框
3: 显示进度对话框和所有错误对话框。


请问我想在执行时 不报错误 怎么办?  就是即使删除时出现错误,也不要报出来,直接再往下执行,该怎样实现?


 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 16:37:00 [显示全部帖子]

用try 不行呀,代码如下, 意思是,每次 启动项目时,先检查一个 temp 目录是否存在,如果不存在,就创建它, 如果 存在,就把它下面的 内容都删除,使用了 try之后,还是 以对话框的形式 报以下错误,请问有那种不用对话框报错的吗? 否则用户体验不好, 我的意思是,即使删除不了文件夹,可以不删除,但是不要以对话框的形式报错


图片点击可在新窗口打开查看此主题相关图片如下:134.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:178.png
图片点击可在新窗口打开查看



If FileSys.DirectoryExists(ProjectPath & "Temp") = False Then
    FileSys.CreateDirectory(ProjectPath & "Temp")
End If

If FileSys.DirectoryExists(ProjectPath & "Temp") = True Then
    Dim fi As FileInfo = new Fileinfo(ProjectPath & "Temp")
    If fi.Hidden= False Then
        fi.Hidden=True
    End If
End If


If FileSys.DirectoryExists(ProjectPath & "Temp") = True Then
    For Each dir As String In FileSys.GetDirectories(ProjectPath & "Temp")        
        Try
            FileSys.DeleteDirectory(dir,2,3)
        Catch ex As Exception
            
        End Try
    Next
End If

If FileSys.DirectoryExists(ProjectPath & "Temp") = True Then
    For Each f As String In FileSys.GetFiles(ProjectPath & "Temp")
        Try
            FileSys.DeleteFile(f)
        Catch ex As Exception
            
        End Try
        
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/14 16:49:00 [显示全部帖子]

就是这个地方的代码,你自己可以试试这段代码, 稍微修改一下,事实上不仅这个地方,还有很多地方都是这样, 例如 之前用vba来关闭和保存一个excel文件,对于低版本的excel,会报以下错误,同样是用 try给包括进来的,在例如连接短信猫时,用try包住,如果连接异常,仍然 会用对话框报错

excel报错如下

图片点击可在新窗口打开查看此主题相关图片如下:189.png
图片点击可在新窗口打开查看


操作excel的代码如下,很明显都有try 给包住了
 try
                'oDocument.cancel
                oDocument.save
                oDocument.Saved = True
                
            Catch ex As Exception
                'MessageBox.Show("追加数据失败")
            End Try
            
            try
                oDocument.close
            Catch ex As Exception
                'MessageBox.Show("追加数据失败")
            End Try
            
            
            
        End If
        
        try
            oDocument.delete
        Catch ex As Exception
            'MessageBox.Show("追加数据失败")
        End Try


 回到顶部
帅哥哟,离线,有人找我吗?
zhsenchzhi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:423 积分:3196 威望:0 精华:0 注册:2013/5/10 10:01:00
  发帖心情 Post By:2015/1/15 9:42:00 [显示全部帖子]

从这两个网页上也看不出什么来,我想问一下,是不是删除一个空目录,就不会出现上面的提示信息了? 你的意思是不是让我写一个递归,先把目录里面的 文件夹和文件清空,然后再删除这个空文件夹?

 回到顶部