该文件位于软件所在的目录中。我正在尝试将文本文件添加到备忘录框中。
procedure TForm4.FormCreate(Sender: TObject);
var
dir : string;
begin
Form4.Caption:='Abateri instrumente';
dir := GetCurrentDir;
Memo1.Lines.LoadFromFile(dir+'\abateri.txt');
end;
答案 0 :(得分:6)
在您的特定情况下,您应该使用代码
加载文件Memo1.Lines.LoadFromFile(dir+'\abateri.txt.txt');
这是因为在您提供的下面的屏幕截图中,隐藏了Project3文件的扩展名,从而加载了隐藏已知文件扩展名的选项的结论。然而,显示了abateri.txt文件的文件,这只能导致经常看到的双扩展错误。
重命名文件并删除冗余部分(首选.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
。