救命啊!为什么不能写文件?!救救我,我所有的分都在这里了。(77分)

  • 主题发起人 主题发起人 aboutdv
  • 开始时间 开始时间
A

aboutdv

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序结束时把一个值保存在自动生成的KeyRecord.txt文件中。这个值是自定义的
hotKeys[0].key,是一个string。其中hotKeys是一个自定义的长度可变的记录数列。
可是程序结束后发现根本没有什么文件生成。
以下是程序,望各位大侠帮忙,感激涕零!

procedure TfrmMain.FormCloseQuery(Sender: TObject
var CanClose: Boolean);
var recordFile: textFile;
fileName : string;
I : integer;
begin
try
fileName := 'KeyRecord.txt';
AssignFile(recordFile,fileName);

Rewrite(recordFile)

writeln(recordFile, hotKeys[0].key)
//我在这里设置断点,清楚的看到
//hotKey[0].key的值等于'Alt+D',可是为什么程序关闭后不会生成文件呢?
//我试着把hotKey[0].key改成字符串'Alt+D',程序就会生成文件。内容是
//“Alt+D”。对的。

finally
closeFile(recordFile);
end;
end;
 
为什么不用INI文件形式呢?
 
hotKeys[0].key是个什么变量?什么类型?
 
我想,文件应该是生成了吧?你用 ultraedit 查一下文件的 16 进制码。
我怀疑你的 hotKeys[0].key 的值不是字符串 'alt+d',而是 alt+d 的内码,那是个不可见
字符,但查16进制码可以查出来
 
想必如此!
 
看来没有人知道……
 
多人接受答案了。
 
后退
顶部