首页 新闻 搜索 专区 学院

DELPHI多线程数据采集的问题

0
悬赏园豆:50 [待解决问题]

有一工作每天要从一固定的文件夹中取出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;

xsoft的主页 xsoft | 初学一级 | 园豆:150
提问于:2010-12-06 11:30
< >
分享
所有回答(1)
0

你不是已经取得列表了嘛,把扫描到的文件名放入stringlist,用一个全局变量i标识处理完的最后一个文件名的位置 也就是stringlist中行位置,当i+1(i从0开始的话)是10的整数倍就说明 一个线程处理完了,于是下一个现成继续处理 stringlist中行数为inc(i)的文件名,  异常处理的话 我同样用的try

天府熊猫 | 园豆:225 (菜鸟二级) | 2011-05-17 17:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册