我有一个程序,它将目录中包含的文本文件中的数据加载回用户界面上的文本框中。
我想要实现的目标是:
我现在使用的代码是:
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。谢谢。
答案 0 :(得分:1)
我建议您找到一种解决问题的方法,让您的程序按照您的意愿行事。
当然,有些人可能会为您提供一些更高级的爱因斯坦式代码,这些代码可以满足您的需求,无论如何,我会鼓励您试用它们。与此同时,为什么不考虑这种方法?
在从根目录加载数据的剔除事件期间,为什么不将子目录的名称保存到冗余文本框中,以便删除例程可以“看到”它并在其余部分之前执行删除例程代码,你说工作正常,运行?
这就是说:
Dim dtl = New DirectoryInfo(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Cake Orders\" & RedundantTextbox.Text))
当然,你不会被指控找到一种厚颜无耻的方法来避免被软件编程活着吃掉,软件编程有时可能是吃脑子的恐龙。