在Edit中输入字符串,然后button确定后,写入一个文本文件,但是,每写入十次后,写第十一次时,把2-10条记录变成前1-9条,删掉第一个,第十一条写在第十条的位置。请问咋实现?谢谢!!!

解决方案 »

  1.   

    嗬嗬,着什么急啊。用一个TStrings来记录你写的行数。控制它的数目不超过9行,然后用SaveToFile覆盖就得了。也就是说,要有一个保存的按钮。
      

  2.   

    也就是说,你写的东西要从Edit存入TStrings的对象。
    如果TStrings的个数超过9就删除第一个,写入最后一个。var
      vLines: TStrings;
    begin
      vLines := TStringList.Create;
      vLines.LoadFromFile('文件名');//调用你的文本文件名
      if vLines.Count < 9 then
      begin
        vLines.Add(Edit1.Text);
      end
      else
      begin
        vLines.Delete(0);
        vLines.Add(Edit1.Text);
      end;
      vLines.SaveToFile('文件名');//写入你的文本文件名
    end;如果感觉不方便,还可以弄个OpenDialog和SaveDialog来用。
      

  3.   

    有点错误:var
      vLines: TStrings;
    begin
      vLines := TStringList.Create;
      vLines.LoadFromFile('文件名');//调用你的文本文件名
      if vLines.Count < 10 then     //应该是小于10,嘿嘿
      begin
        vLines.Add(Edit1.Text);
      end
      else
      begin
        vLines.Delete(0);
        vLines.Add(Edit1.Text);
      end;
      vLines.SaveToFile('文件名');//写入你的文本文件名
    end;
      

  4.   

    可不可以考虑用TStringList?
    用法同楼上几位大哥的。
      

  5.   

    TStringList是TStrings的派生类,这种事情最好还是直接用基类,因为这样之后TStrings := TStringList;
    TStrings := TStrings;
    TStringList := TStringList;都是成立的。但是你如果用到了其他的控件用的是TStrings,那你用TStringList := TStrings就不行了。如果仅仅是针对这个问题。用TStringList当然没有问题。