有一工作每天要从一固定的文件夹中取出TXT文件,然后将TXT中的资料取出进行加工。因为加工的过程是比较耗时的,我现在设想:
1、先遍历该文件夹,将所有符合条件的记录取出来,将文件名加载到一个列表中。
2、根据文件的数量,每10个文件建立一个线程去处理。
目前可以建立线程工作,但是怎么样将文件的序号如1~10,11~20传给每个相对独立的线程呢?还有就是线程的异常处理要怎么处理,希望能有详细的代码说明。
var
i:integer;
sl:Tstringlist;
begin
for i:= 0 to memo1.count-1 do
begin
try
sl:=Tstringlist.Create;
sl.LoadFromFile(Memo1.Lines[i]);
memo2.Lines.Add(sl.Text);
finally
sl.Free;
end;
end;
你不是已经取得列表了嘛,把扫描到的文件名放入stringlist,用一个全局变量i标识处理完的最后一个文件名的位置 也就是stringlist中行位置,当i+1(i从0开始的话)是10的整数倍就说明 一个线程处理完了,于是下一个现成继续处理 stringlist中行数为inc(i)的文件名, 异常处理的话 我同样用的try