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文档)。 展开
这个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文档)。 展开
2个回答
展开全部
用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都是文本文件变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询