新的一天,新的问题,大虾看看(50分)

  • 主题发起人 主题发起人 TXJ
  • 开始时间 开始时间
T

TXJ

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一文本文件nn.txt,里面有如下的内容

第一行:a
第二行:b
第三行:c
第四行:d
第五行:e
我想删除掉第三行,怎么来删除呢,就是说删除掉文本文件里指定的行了
 
你换成ini文件就好删除了
 
memo1.ClearSelection;
 
memo.lines.loadfromfile('nn.txt');
memo.lines.delete(3);
memo.lines.savetofile('nn.txt');
 
直接从文件里如何来删除呢
 
[blue]上面不是说得很清楚了吗?
先调入到MEMO中,然后再删嘛![/blue]
 
用TSringList类就可以了
不一定要Memo
 
我的意思呢直接操作文件另外不借助memo,tstringlist等
 
先建立一个临时文件,然后将原文件除要删除的文件外全部导过来,
再删除原文件保存现在的文件,将文件设为原文件名
 
楼上的你所说的方法呢太麻烦了,直接操作一个文件能不能呢
 
我说一个思路吧也许可以满足你的要求
readln() 从文件中读一行数据
writeln() 向文件中写一行数据
filepos()得到文件当前的位置
seek() 设置当前的位置
procedure deletefile(fp:system.text,N:integer):
{$h+}
var i:integer;
file_str,str:string;
begin

i:=0;
filestr:='';

while not eof(fp)do
begin

i:=i+1;
str:='';
readln(fp,str);
if i<> n then
begin
//去除要删除的第n 行
file_str:=file_str+str+#13#10;
end;


end;

writeln(fp,file_str);

end;

程序是随手写的没有测试可能语法上有点问题不过主要思路就是这样
 
看完你的帖子真他妈想打你个大嘴巴!妈的人家告诉你好几次了,你非要直接操作文件,傻B啊你!
 
这问题我自己解决掉了,另外还有一问题请大虾看看,我用一ADOQUERY做查询open后里面的
记录达到了十多万条,我现在要对这十多万的数据进行分类汇总怎么来操作呢(对adoquery里
的各个字段做分类汇总处理)
 
请大家再看看了
 
多人接受答案了。
 
后退
顶部