我想删除文件中的某行,如何做?文件很大.好像不太适合用TStringlist取出来再删除某行后,再存到文件.
解决方案 »
- 怎么将Panel的内容打印出来,跪求!
- 请问有谁用Delphi7.0+SQL Server2000设计过“学生学籍管理系统”?
- 怎么在stringgrid最后一行实现数据合计?
- 关于delphi开发SOAP/web service的应用
- 已知一个URL,怎样得到这个URL产生的源文件?(就像右键网页查看源文件 所得到的 文本信息)
- 客户服务中心爆笑问题集锦
- 帮忙看一下这行语句 怎么运行不通 关于like
- 实际应用问题,请多多发言
- cxgrid 编辑时模拟edit的sellength,selstart属性?
- 动态创建数据库请帮我看看我做的怎么不对!
- 转行散分--程序员不能干一辈子 顶者有分
- 一个关于线段拉动和放大问题
基于目前操作系统的结构,我建议的方法是:(如文件名为t.txt)
1.将t.txt改名为t.bak
2.建一新文件t.txt
2.打开文件t.bak
3.将t.bak逐行读入,将不要删除的行写入t.txt
4.删除t.bak
这方面很少接触
一行行的读,到指定行就为行的内容就为空,
最后加的时候,为空的不加,不会很慢的!
var b,d:TStringList;i:Integer;s:String;
begin
if OpenDialog1.Execute then
begin
b:=TStringList.Create;
d:=TStringList.Create;
b.LoadFromFile(OpenDialog1.FileName);
for i:=0 to b.Count-1 do
begin
s:=b.Strings[i];
if i=2 then //指定行
s:='';
if s<>'' then
d.Add(s);
end;
d.SaveToFile(OpenDialog1.FileName+'1');
b.Free;
d.Free;
ShowMessage('ok!');
end;
end;end.
有N多人问过此类问题(每个开发语言版中都有)
基于目前操作系统的结构,我建议的方法是:(如文件名为t.txt)
1.将t.txt改名为t.bak
2.建一新文件t.txt
2.打开文件t.bak
3.将t.bak逐行读入,将不要删除的行写入t.txt
4.删除t.bak
----------------------------------
晕了
有逐行读的功夫,直接lines.delete多好
thanks
搞定