请各位帮忙拉!(50分)

  • 主题发起人 主题发起人 zxfyy
  • 开始时间 开始时间
Z

zxfyy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想完成这样一件事.
有一个LOG文件,我想在MEMO中把它显示出来,就是LOG中增加一行,在MEMO中也增加一行.
而且要要在MEMO中达到一定行数的时候,把LOG清空,怎么办..(这个LOG文件是其它程序运行时产生的LOG)谢谢大家,
急....
 
那你就使用定时器定时刷新吧。载入到memo时,如果行数超了就清空。
 
能说的具体一点吗.
 
定时器的间隔你自己定义
procedure TForm1.Timer1Timer(Sender:TObject);
var fp:textfile;
begin
Memo1.Lines.LoadFromFile('c:/1.log');
if Memo1.Lines.Count>100 then
begin//大于100行就清空
assignfile(fp,'c:/1.log');
rewrite(fp);
closefile(fp);
end;
end;
 
刚好我做的程序里实现了这个功能:
procedure AddLog(log:string)
begin
memLog.Lines.add(log);
if memLog.lines.count > 1000 then
begin
memLog.Lines.saveToFile('log.txt');
memLog.Clear;
end;
end;
 
谢谢大家,如上功能不是很难,我是想这样,LOG增加一行,MEMO就增加一行.如果每次LOADFROM (LOG)就没有办法看出来是一行一行增加的了.

请问上面的想法,如何实现呢...两位高手,给出个主意行吗?
 
大家帮我一下!!急.
 
那你是不是可以使用定时器打开文件,然后比较文件的最后一行和memo的最后一行,如果一致认为没有新增,如果不一致就都出来加入到memo.
或者你比较memo和log文件的总行数,如果不一致再从文件读入新的行。
 
后退
顶部