如何在free pascal中编辑文本文件的特定部分?

时间:2017-05-11 11:07:55

标签: freepascal

正如标题所说,我该怎么做?我知道append命令会在文件的末尾添加文本,但我不想这样做,也不会重写整个文本文件。我只想编辑文本文件的特定部分。

这是我的情景:

我在文本文件中有不同的数据行,我尝试做的是将特定行编辑为用户输入。我已经编码的是找到要编辑的行,然后是用户输入的数据要在线上更改,一切都运行良好没有问题,但是我完全难过我做的更改数据从文本文件到用户输入。

编辑:经过一段时间的挫折之后,我已经达到了目标,但它没有成功,错误106.

 If s = 'N' Then
  Begin
    Writeln();
    Writeln('Please enter the correct data');
    Append(sf);
    Readln(sData);
    Writeln(sf, sData);
    Close(sf);
  End;

另外需要注意的是,我没有在此代码块之前关闭文件,但我确实有一个EOF来阻止先前的代码在断开之前不需要循环,我在此代码的末尾关闭文件并再次在另一个街区。无论哪种方式文件关闭,但我只得到那些块的错误。

1 个答案:

答案 0 :(得分:0)

感谢您的评论,使用TStringList程序,我的程序按照我想要的方式工作。

我所做的是使用TStringList.LoadFile加载文件,因为我正在搜索的数据有一个固定的模式,所以我能够搜索并使用固定索引索引文件(即索引=索引+ 3),删除数据文件中的索引行并插入新数据。