thread como acompanhar?

28/05/2008

1

Ola eh o seguinte

tenho uma thread que faz um get usando o idhttp
os sites que serao feitos os gets sao carregados numa listbox
a thread recebe os sites e faz os gets em todos os sites da lista

ate ai esta td normal o problema e o seguinte

preciso saber qtos sites ela ja fez o get ou qtos ainda faltam


tem como fazer isso?

aki vai o execute da thread e o codigo do botao que inicia o processo

// execute da thread
procedure TThreadHttp.Execute;
begin
  inherited;
  Http := TidHttp.Create(nil);
  Str := HTTP.Get(url);
  Synchronize(ShowPage);
  Terminate;
end;

//codigo do botao
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to ListBox4.Items.Count-1 do
    NovaPesquisa(ListBox4.Items[i]);
end;

// faz uma pesquisa
procedure NovaPesquisa(Url: String);
var
  Thd: TThreadHttp;
begin
  Thd := TThreadHttp.Create(True);
  Thd.FreeOnTerminate := True;
  Thd.Url := Url;
  Thd.Resume;
  end;



Responder

Posts

28/05/2008

Bmendess

Ola eh o seguinte tenho uma thread que faz um get usando o idhttp os sites que serao feitos os gets sao carregados numa listbox a thread recebe os sites e faz os gets em todos os sites da lista ate ai esta td normal o problema e o seguinte preciso saber qtos sites ela ja fez o get ou qtos ainda faltam tem como fazer isso? aki vai o execute da thread e o codigo do botao que inicia o processo
// execute da thread
procedure TThreadHttp.Execute;
begin
  inherited;
  Http := TidHttp.Create(nil);
  Str := HTTP.Get(url);
  Synchronize(ShowPage);
  Terminate;
end;

//codigo do botao
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i := 0 to ListBox4.Items.Count-1 do
    NovaPesquisa(ListBox4.Items[i]);
end;

// faz uma pesquisa
procedure NovaPesquisa(Url: String);
var
  Thd: TThreadHttp;
begin
  Thd := TThreadHttp.Create(True);
  Thd.FreeOnTerminate := True;
  Thd.Url := Url;
  Thd.Resume;
  end;


ou quem sabe criar uma lista de espera para os sites assim que 1 for feito o get e liberado e passa para o proximo da lista

alguem?


Responder