我反复得到同样的错误,我真的不知道为什么。
在我的代码中,我正在测试.txt是否存在,确实存在,但仍然给出了错误“无法找到文件位置”。
我使用了以下代码:
IF Not FileExists('Some.txt') then
ShowMessage('Some message');
我确实将.txt文件放在与程序本身相同的文件夹中,但它仍然说无法找到它。
我已经让它像这样工作:
IF Not FileExists('F:\Delphi\TextFiles\Some.txt') then
ShowMessage('Some message');
在Delphi 2010上,它可以在不指定文件路径的情况下工作,有人可以向我解释为什么需要在XE 5中使用路径吗?我在家里使用XE 5,在学校使用2010年。
答案 0 :(得分:2)
您的文件名'Some.txt'
是相对路径。相对路径相对于进程工作目录。通常,但并非总是如此,工作目录与可执行目录相同。显然,您的进程中的工作目录,无论它是什么,都不包含该名称的文件。
如果您不确定流程工作目录是什么,请致电GetCurrentDir
。
您需要问自己的问题,如果您希望程序找到此文本文件。文本文件应该放在哪里?在与可执行文件相同的目录中?如果是这样,那么当程序驻留在程序文件目录下时,由于UAC,准备不能写入文件。或者文件应该位于用户的个人资料中?或者可能是系统范围的位置而不是每个用户。只有当您清楚地知道文件的位置时,才能决定如何找到它。