该系统找不到指定的文件

时间:2015-04-26 09:08:34

标签: file delphi path

该文件位于软件所在的目录中。我正在尝试将文本文件添加到备忘录框中。

procedure TForm4.FormCreate(Sender: TObject);
var
  dir : string;
begin
  Form4.Caption:='Abateri instrumente';
  dir := GetCurrentDir;
  Memo1.Lines.LoadFromFile(dir+'\abateri.txt');
end;

2 个答案:

答案 0 :(得分:6)

在您的特定情况下,您应该使用代码

加载文件
Memo1.Lines.LoadFromFile(dir+'\abateri.txt.txt');

这是因为在您提供的下面的屏幕截图中,隐藏了Project3文件的扩展名,从而加载了隐藏已知文件扩展名的选项的结论。然而,显示了abateri.txt文件的文件,这只能导致经常看到的双扩展错误。

Supplied screenshot of the error

重命名文件并删除冗余部分(首选.txt,这是首选。)或在代码中使用双扩展名。
我还建议在Windows资源管理器中禁用该选项:
工具> 文件夹选项> 查看>取消选中"隐藏已知文件类型的扩展名"

除了上述内容之外,您应始终使用TPath.Combine函数调用来构建路径,以确保它们正确无误。 您可以看到它的文档here

答案 1 :(得分:2)

  

该文件位于软件所在的目录中。

在这种情况下,查看工作目录是错误的方法。工作目录不应该是您的可执行文件所在的目录。你需要使用:

#include "a.h"
#include "stdafx.h"     
Hex::Hex(int n, string w) : negative(false) { /*some implementation*/ }
//rest class and definitions of bool isCorrect(); string getValue(); void setValue();

当然,您的另一个问题是您的文件名错误。该文件实际上名为Dir := ExtractFilePath(ParamStr(0)); // the directory where the executable resides TPath.Combine(Dir, FileName); // TPath is from the System.IOUtils unit