如何使用userform文本框更新活动目录

时间:2015-05-12 14:23:07

标签: vb.net

我有一个程序,它将目录中包含的文本文件中的数据加载回用户界面上的文本框中。

我想要实现的目标是:

  1. 如果用户更改其中一个文本框的文本,然后单击"更新"按钮,旧记录及其保存目录应删除新记录,保存在新目录中。
  2. 我现在使用的代码是:

      Dim dtl = New DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Cake Orders\" & TextBox1.Text))
    
            'Delete the culled record
            Try
                If Directory.Exists(dtl.FullName) Then
                    Dim oDirectory As New DirectoryInfo(dtl.FullName)
                    If oDirectory.GetFiles.Count > 0 Then
                        For Each oFile As FileInfo In oDirectory.GetFiles
                            oFile.Delete()
                        Next
                    End If
                    If oDirectory.GetDirectories.Count > 0 Then
                        For Each oDir As DirectoryInfo In oDirectory.GetDirectories
                            oDir.Delete(True)
                        Next
                        dtl.Delete()
                    End If
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    
            'Continue to save the updated record
    

    上面的代码只是将当前数据保存在一个新目录中(这很好),但不会像我想要的那样删除原始目录;也就是说我的代码没有执行上面的删除例程。

    我如何实现目标?我正在使用Visual Basic 2010 Express。谢谢。

1 个答案:

答案 0 :(得分:1)

我建议您找到一种解决问题的方法,让您的程序按照您的意愿行事。

当然,有些人可能会为您提供一些更高级的爱因斯坦式代码,这些代码可以满足您的需求,无论如何,我会鼓励您试用它们。与此同时,为什么不考虑这种方法?

在从根目录加载数据的剔除事件期间,为什么不将子目录的名称保存到冗余文本框中,以便删除例程可以“看到”它并在其余部分之前执行删除例程代码,你说工作正常,运行?

这就是说:

 Dim dtl = New DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Cake Orders\" & RedundantTextbox.Text))

当然,你不会被指控找到一种厚颜无耻的方法来避免被软件编程活着吃掉,软件编程有时可能是吃脑子的恐龙。