简单的办法,是将原文件读入到一个TStrlingList(TStringList.LoadFromFile)对象中,然后,将你需要添加的内容使用TStringList.ADD方法增加,完成后,再使用TStringList.SaveToFile方法写回原文件。

解决方案 »

  1.   

    是不是一个VCL控件,从哪里找到,还是要生成一个对象,对不起,我刚学
      

  2.   

    同意: venne(感觉一下) 
    TSTRINGLIST不是控件,是一个对象,你可以看帮助;
    TMEMO的LINES也是TSTRINGLIST类型的;
    用LOADFROMFILE和SAVETOFILE很方便。
      

  3.   

    正好又有朋友问同样的问题,我写一个例码,就在这里写的
    如果编译出错,检查一下,不好意思,应该没错吧。呵呵function AddString(strYouWantAdd:String;YourFile:TFilename);
    var
      strlst:TStringList;
    begin
      try
        strLst:=TStringList.create;
        strLst.loadfromfile(YourFile);
        strLst.add(strYouWantAdd);
        strLst.saveToFile(YourFile);
      finally
        strLst.free;
      end;
    end;
      

  4.   

    另外,同意天外流星。TMEMO的LINE属性本身就是TStringList对象,因此,不用象上面的代码那样声明,创建和销毁了。直接用这个属性操作文本文件很方便了。
      

  5.   

    memo控件中的数据是否每写入文件一次就清除?
    如果不是,那就使用memo1.lines.savetofile(filename:string)就可以了.
    如果是,那你就要使用追加的方式打开文件,把memo的数据写入文件~!
      

  6.   

    venne(感觉一下) :我想保存到上次所存的文件,却将原来的记录都清空了,我想不清空?
      

  7.   

    不会的呀,你参考一下下面的代码:procedure TForm1.Button1Click(Sender: TObject);
    var
      mystr:TStringList;
      i:integer;
    begin
      try
        myStr:=TStringList.Create ;
        MyStr.LoadFromFile('YourFileName.Txt');
        //这是MEMO内容每次不同的方法,将新的MEMO
        //内容加入到文本中
        for i:=0 to Memo1.Lines.Count-1 do begin
          MyStr.Add(Memo1.Lines[i]);
        end;
        MyStr.SaveToFile('YourFileName.txt');
        //如果MEMO的内容一直不会清空,不断增加
        //则直接保存LINES到一个文件中就可以了。
      finally
        myStr.Free ;
      end;end;