试图在Delphi XE 5中打开.txt

时间:2014-09-01 17:49:57

标签: delphi

我反复得到同样的错误,我真的不知道为什么。

在我的代码中,我正在测试.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年。

1 个答案:

答案 0 :(得分:2)

您的文件名'Some.txt'是相对路径。相对路径相对于进程工作目录。通常,但并非总是如此,工作目录与可执行目录相同。显然,您的进程中的工作目录,无论它是什么,都不包含该名称的文件。

如果您不确定流程工作目录是什么,请致电GetCurrentDir

您需要问自己的问题,如果您希望程序找到此文本文件。文本文件应该放在哪里?在与可执行文件相同的目录中?如果是这样,那么当程序驻留在程序文件目录下时,由于UAC,准备不能写入文件。或者文件应该位于用户的个人资料中?或者可能是系统范围的位置而不是每个用户。只有当您清楚地知道文件的位置时,才能决定如何找到它。