我有这个代码,
showmessage('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID);
if removedir('C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID) then
showmessage('Removed')
else
showmessage('Failed');
该消息显示 C:\TEMP\0
并且该目录确实存在,因为程序之前创建了该目录并使用了其中的文件,然后又删除了它们。我可以看到文件和目录,所以我知道它们在那里。程序成功删除文件,但未删除目录。
如果我对它有效的目录进行硬编码 - 这意味着它接受该字符串
C:\TEMP\0
但不接受 C:\TEMP\'+openfiles[openfilelist.ItemIndex].ID
两者都等于 C:\TEMP\0
。我无法对这些目录进行硬编码,那么我该怎么办?如何从 string + string 转换为 removedir()
所期望的内容。我查了一下 Delphi 基础知识,它需要一个字符串。
我很困惑,因为 string + string = string。这是怎么回事?
最佳答案
确保您的程序或任何其他程序都没有将该目录作为其当前工作目录。当您重新编译程序时,情况可能不再如此,因此硬编码值对您有用可能会转移注意力。
关于delphi - 删除临时目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/503312/