|
#1
|
|||
|
|||
Потоки и мемо
Есть мемо и едит.В мемо есть сайты которие нужно получить через Get(просто отправить запрос),а в едите количество потоков!Как это можно зделать?С потоками никогда не работал
|
#2
|
||||
|
||||
Ну просто поучись работать с потоками... просто в цикле создавай потоки и все...
Код:
var MyThread: Array of TThread; ... SetLength(MyThread, Memo1.Lines.Count-1); for i:=0 to Memo1.lines.Count-1 do // кол-во создаваемых потоков MyThread[i]:=TThread.Create(true/false); Помогаю за Спасибо |
#3
|
|||
|
|||
А как запросы через них каждому присваивать?Какое событие за это отвечает?И как их запустить?
Последний раз редактировалось Hamsi, 09.12.2010 в 18:19. |
#4
|
||||
|
||||
http://www.google.com.ua/search?sour...BB%D1%84%D0%B8
Сложно было заглянуть? А запуск происходит вызовом процедуры Execute. Код:
... x.Execute; // где х - поток Помогаю за Спасибо |
#5
|
|||
|
|||
И всетаки подскажи как каждому потоку присвоить гет один,плиз
|
#6
|
||||
|
||||
Код:
unit Unit1; interface uses IdHTTP, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TGetThread = class(TThread) private FURL: String; FRes: String; procedure Updt; protected procedure Execute; override; public constructor Create(AURL: String); end; TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; Memo2: TMemo; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; c: Integer; implementation {$R *.dfm} { TGetThread } constructor TGetThread.Create(AURL: String); begin inherited Create(True); FURL:=AURL; Resume; end; procedure TGetThread.Execute; var http: TIdHTTP; begin try http:=TIdHTTP.Create(nil); try FRes:=http.Get(FURL); Synchronize(Updt); finally http.Free; end; except end; end; procedure TGetThread.Updt; begin Form1.Memo2.Lines.Add(FRes); Form1.Memo2.Lines.Add('--------------------------------------------------'); Dec(c); if c=0 then ShowMessage('ok'); end; { TForm1 } procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin c:=Memo1.Lines.Count; for i:=0 to c-1 do TGetThread.Create(Memo1.Lines[i]); end; end. Пишу программы за еду. __________________ |
#7
|
|||
|
|||
Цитата:
|
#8
|
||||
|
||||
ну так TIdHTTP работает с прокси:
Цитата:
Пишу программы за еду. __________________ |