Показать сообщение отдельно
  #13  
Старый 02.10.2015, 13:31
Avenger15 Avenger15 вне форума
Прохожий
 
Регистрация: 17.09.2015
Сообщения: 10
Версия Delphi: Delphi XE3
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Да какая идея-то нужна тебе?...
Поток:
Код:
type
  TMyThread = class)TThread)
  ...
  public
    l, h : Integer;  // Low and High indices in the Array
  end;
Главная программа:
Код:
const
  NumberOfThreads = 5;
...
for i := Low(A) To High(A) Do A[i] := ... // Fill the array

// create and run the threads

for i := 0 to NumberOfThreads-1 Do
begin
  t := TMyThread.Create(True);
  t.l := i * Length(A) / NumberOfThreads;
  t.h := (i+1) * Length(A) / NumberOfThreads - 1;
  t.resume;
end;

Но сделать так, как я сказал раньше - правильнее, гибче и эффективнее.
Вот мой код:
Главная форма
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  NumberOfThreads = 5;
var
  Threads: Integer;
  A, m: Integer;
  X: array [3 .. 10] of Integer;
begin
  for m := Low(A) To High(A) Do
    X[m] := m;

  URL := Edit1.Text + '/memberslistxml/?xml=1&p=';
  for Threads := 0 to NumberOfThreads - 1 do
  begin
    Th[Threads] := Searcher.Create(True);
    Th[Threads].i := Threads * Length(A) / NumberOfThreads;
    Th[Threads].h := (Threads + 1) * Length(A) / NumberOfThreads - 1;
    Th[Threads].FreeOnTerminate := True;
    Th[Threads].Start();
  end;
end;
Поток
Код:
type
  Searcher = class(TThread)
  private
    FHTTPS: THTTPSend;
    FLIST, FHTML: TStringList;
    FRegExp: TRegExpr;
  protected
    procedure Execute; override;
    procedure sync;
    procedure setheaders;
  public
    i, h: Integer;
  end;
Компилятор ругается на ваш код , не понятно почему , возможно я что-то не так сделал?
Ответить с цитированием