Delphi 怎么读取txt文档

我想用Delphi查找一个txt文档中的内容,并且将符合要求的内容自动输出到另外一个txt文档中去。这个txt文档的每一行都由[XX.XX.XX]开头,表示具体时间比如[... 我想用Delphi查找一个txt文档中的内容,并且将符合要求的内容自动输出到另外一个txt文档中去。
这个txt文档的每一行都由[XX.XX.XX]开头,表示具体时间比如[16:56:07]就是下午4点56分07秒。
因此我想能只检查电脑时间之前的30秒钟的几行字,比如现在是5:00整,那就只检查[4:59:30]下面的行数。
至于要检查的内容嘛,就用这四行代替吧。
[05.11.00]1234567----->567
[05.13.30]1234567----->123
[05.13.35]2345678----->876
[05.13.40]1234789----->987
即假设该txt文本内容为这几行,并且假设目前电脑时间为5点14分
要求,当检测到这行中有1234567时,将'---->'后面的内容复制然后粘贴。
但是只要求检测[05.13.30]及以后的内容。
比如检测到第2行符合要求,则程序自动将123输入另一个txt文档第一行。
(在此之前光标已经点到了另外一个txt文档)。
展开
 我来答
百度网友c161d43c7
2014-08-21 · TA获得超过1776个赞
知道小有建树答主
回答量:1227
采纳率:69%
帮助的人:277万
展开全部

用TextFile就可以了

var
  f: TextFile;
  s: string;
  ts: string;
  rf: TextFile;
begin
  AssignFile(f, "your file path and name.txt");
  AssignFile(rf, "your output file name.txt");
  Reset(f);
  Append(rf);
  
  try
    while not eof(f) do
      readln(f, s);
      ts := Copy(s, 2, 8);
      if FormatDateTime("hh.mm.ss", Now - 30 / 86400) > s and Pos(s, "1234567") > 0 then
      begin
        ts := Copy(s, Pos(s, "---->") + 5, Length(s));
        Writeln(rf, ts);
      end;
    end;
  finally  
    Close(f);
    Close(rf);
  end;
end;

代码没有测试,直接手打,你自己调试一下看。

更多追问追答
追问
第7、8行的
AssignFile(f, "your file path and name.txt");
AssignFile(rf, "your output file name.txt");
要输入文件所在位置么,为什么用双引号引起来,
还有16行的

pos后面>0之前的位置老报错
f,rf都什么意思,谢谢
追答
双引号错了,好久不用Delphi,忘记了,Delphi字符串应该是单引号,你改用单引号即可,下面的字符串也是一样。

f, rf都是文本文件变量。
changjeff
2014-08-21 · TA获得超过804个赞
知道小有建树答主
回答量:2008
采纳率:54%
帮助的人:833万
展开全部
使用Stringlist,LoadfromFile 具体怎么做,网上自己搜搜
追问
具体点可以吗...谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式