Delphi 创建和写入文本文件时出现错误105

Delphi 创建和写入文本文件时出现错误105,delphi,Delphi,我正在测试一个登录和帐户创建程序。当用户按下Create New Account(创建新帐户)按钮时,会提示他们输入保存到变量sNewUsername的用户名和保存到变量sNewPassword的密码。 密码保存到文本文件中。 出于某种原因,在尝试将密码保存到文本文件时,它会给我“I/O错误105” 我已经运行了调试工具,它保存到变量fine,但不写入文本文件。 我已经仔细检查了我是否使用了重写而不是重置,一切看起来都很好 AssignFile(tf,sNewUsername + '.txt')

我正在测试一个登录和帐户创建程序。当用户按下Create New Account(创建新帐户)按钮时,会提示他们输入保存到变量sNewUsername的用户名和保存到变量sNewPassword的密码。 密码保存到文本文件中。 出于某种原因,在尝试将密码保存到文本文件时,它会给我“I/O错误105”

我已经运行了调试工具,它保存到变量fine,但不写入文本文件。 我已经仔细检查了我是否使用了重写而不是重置,一切看起来都很好

AssignFile(tf,sNewUsername + '.txt');
Rewrite(tf);

  writeln(sNewPassword);

closefile(tf);
我希望该文件将密码从变量保存到文本文件,但它没有将密码写入文本文件,并给出一个错误。我不理解“I/O错误105”。

您对writeln的调用没有提供文件对象,因此尝试写入标准输出,这可能在您的进程中不存在

换成

writeln(tf, sNewPassword);
但是,您可能应该使用更现代的机制来编写文件。此外,由于您只指定了一个相对路径,您将面临无法将文件写入所需目录的严重风险。

您对writeln的调用没有提供文件对象,因此尝试写入标准输出,这可能在您的进程中不存在

换成

writeln(tf, sNewPassword);

但是,您可能应该使用更现代的机制来编写文件。此外,由于您只指定了一个相对路径,您将面临无法将文件写入所需目录的严重风险。

我明白了,谢谢您的建议。我会研究更好的方法。我明白了,谢谢你的建议。我会研究更好的方法。