如何删除文本文件的一行(100分)

  • 主题发起人 主题发起人 nickname
  • 开始时间 开始时间
没办法,把后面所有行一一上移
 
先把文本文件一正行的形式输出到数组中,找到相应一行,进行标记,然后重新形成文<br>件.<br>
 
while not eof <br>&nbsp; readln ;<br>&nbsp; if not_your_line then<br>&nbsp; begin<br>&nbsp; &nbsp; copyto(line_originfile ,line_newfile) ;<br>&nbsp; end;<br>end;<br>deletefile(originfile);<br>renamefile(newfile);
 
读到一个 strings 里,Memo 等等都可以的,<br>delete 你要删的行,再存一下。
 
u mean there is not a method to delete one line from my <br>text file directly
 
用这个吧:<br>ls := TStringList.Create;<br>ls.LoadFromFile('filename');<br>ii := ls.IndexOf('你要删的那行东东');<br>if ii&gt;=0 then<br>&nbsp; &nbsp;ls.Delete(ii);//删掉它了<br>ls.SaveToFile('filename');<br>ls.Free;
 
如果文本文件很大呢?例如100万行,用TStringList是不是...
 
100万,<br>分块吧!
 
多人接受答案了。
 
There are something problem of Useing "Tstrings or Tstringlist".Because of their SelfLimit .<br>I think the old file operation function can do it <br>simply and easily.
 
后退
顶部