Гуру кодинга, ай нид хелп... Code: procedure TForm1.Button1Click(Sender: TObject); var s:string; id:integer; RegExp:TRegExpr; begin id:=1; while (id<10000) do begin RegExp := TRegExpr.Create; RegExp.InputString := IdHttp1.Get('http://site/index.html?user='+inttostr(id)); RegExp.Expression := '<span class=cnavy style='#39'font: bold 12px Arial, Verdana'#39'>(.*?)</span>'; if RegExp.Exec then repeat Memo1.Lines.Add(RegExp.Match[1]); until not RegExp.ExecNext; RegExp.Free; id:=id+1; end; end; мне надо, что бы это действие выполнялось в потоков 10. можете помочь?)
В твоём случае это примерно так: PHP: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,idhttp, StdCtrls,RegExpr; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; Thread1 = class(TThread) private http:Tidhttp; id:integer; RegExp:TRegExpr; procedure getid; { Private declarations } protected procedure Execute; override; end; var Form1: TForm1; idtemp:integer; Th:Thread1; implementation {$R *.dfm} { Thread1 } procedure Thread1.Execute; begin http:=Tidhttp.Create(nil);http.HandleRedirects:=true; while (id<10000) do begin synchronize(getid); RegExp := TRegExpr.Create; try RegExp.InputString := Http.Get('http://site/index.html?user='+inttostr(id)); except;end; RegExp.Expression := '<span class=cnavy style='#39'font: bold 12px Arial, Verdana'#39'>(.*?)</span>'; if RegExp.Exec then repeat Form1.Memo1.Lines.Add(RegExp.Match[1]); until not RegExp.ExecNext; RegExp.Free; end; http.free; end; procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin idtemp:=-1; for i:=1 to 10 {10 - количество потоков} do begin Th:=Thread1.Create(true); Th.FreeOnTerminate := True; Th.Priority := TPNormal; Th.Resume; end; end; procedure Thread1.getid; begin inc(idtemp); id:=idtemp; end; end.