我把我的文本文件和我的 Delphi 项目保存在同一个文件夹中,但是当我测试文件是否存在时,它仍然说它不存在。
有谁能告诉我可能是什么问题吗?
这是当前的代码:
var
iMessage, iCount: integer;
mFile: Textfile;
sLine: string;
begin
iMessage := MessageDlg('Save receipt to ' + arrMonth[1], mtCustom,
[mbYes, mbNo, mbCancel], 0);
if iMessage = mrYes then
begin
AssignFile(mFile, 'Receipts.txt');
if NOT FileExists('Receipts.txt') then
begin
ShowMessage('File does not exist');
end;
Append(mFile);
for iCount := 0 to redReceipt.Lines.Count - 1 DO
begin
sLine := redReceipt.Lines[iCount];
Writeln(mFile, sLine);
end;
Writeln(mFile, '////////////////');
CloseFile(mFile);
end;
字符串
1条答案
按热度按时间y1aodyip1#
您的应用程序找不到文件的原因是您没有指定文件的完整路径。您的应用程序试图在
CurrentDir
中查找此类文件,该文件可能与您的应用程序可执行文件所在的目录不同。例如,如果您的应用程序是从一个快捷方式启动的,那么从一开始
CurrentDir
就将是设置为该快捷方式的工作目录的同一个目录。但是,请记住,
CurrentDir
可以在应用程序执行期间更改。例如,使用某些对话框可以更改它。因此,如果要搜索其位置与可执行文件的位置相关的文件,则首先需要使用VCL中的
TApplication.ExeName
或FMX中的ParamStr(0)
检索可执行文件的位置。然后,您可以在创建所需文件的完整路径时使用该信息。下面是VCL的示例:
字符串