请教!如何循环打开一个目录内的所有文本文件,找需要内容。(100分)(100分)

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

zhengv

Unregistered / Unconfirmed
GUEST, unregistred user!
var
arec: TSearchRec;
begin
findfirst('c:/*.txt',faAnyFile,arec);
while findnext(arec)=0 do
begin
if arec.Name=‘’ then
memo1.lines.Add(arec.Name);
end;
finally
findclose(arec);
end;
end;
以上代码能找到指定目录内指定类型所有文件,怎样找到一个文件,打开文件。找到第二个
文件,打开第二个文件。。。循环打开文件?
 
var
strs : Tstrings;//定义一个Tstringlist;
begin
strs := Tstringlist.create;
for i:=0 to memo.lines.count-1 do
begin
strs.clear;//先执行清空操作;
strs.loadfromfile(memo.lines);//循环将文件读入Tstringlist变量当中
for j :=0 to strs.count-1 do
begin
if pos(astr,strs[j])>0 then //astr所需要的内容;
begin
//找到文件后,执行相应的操作
break;
end;
end;
end;

如果你找的是一段文本,而不是一个字符串
则需要把下面:
if pos(astr,strs[j])>0 then //astr所需要的内容;
begin
//找到文件后,执行相应的操作
break;
end;
更改为
if pos(astr,strs)>0 then //astr所需要的内容;
begin
//找到文件后,执行相应的操作
break;
end;
同时把这一层循环去掉

***Tstrings很好用,在很多地方可以体现它的优越性
 
接受答案了.
 
后退
顶部