|
Вопрос # 5 928/ вопрос открыт / |
|
Здравствуйте, эксперты!
Здравствуйте, никогда не работал с потоками, но вот появилась задача для которой нужны именно потоки.
Собственно у меня есть список сайтов, есть процедура, которая делает гет запрос парсит, то что мне нужно, записывает в переменную. Собственно как это сделать с помощью потоков? ниже приведен полный листинг примера, то что прога делает теперь, повторяюсь, это только пример.
Зарание спасибо!
Приложение: Переключить в обычный режим- unit Unit1;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
- IdHTTP, StdCtrls;
-
- type
- TForm1 = class(TForm)
- Button1: TButton;
- IdHTTP1: TIdHTTP;
- Memo1: TMemo;
- procedure Button1Click(Sender: TObject);
- procedure pars(s1,s2,s3,s4,s5:string);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- type
- sp1=record
- title:string[150];
- purl:string[200];
- end;
-
- var
- Form1: TForm1;
- i,n,t:integer;
- title,rss,html,title1,title2:WideString;
- mas,mas1,mas2,mas3:array[1..50]of sp1;
- implementation
-
- {$R *.dfm}
- procedure TForm1.pars(s1,s2,s3,s4,s5:string);
- var
- i,n:integer;
- begin
- rss:=IdHTTP1.Get(s1);
- n:=1;
- i:=1;
- title:='';
- while (i<=length(rss)) do
- begin
- if pos(s2,rss)<>0 then
- begin
- Delete(rss,1,pos(s2,rss)+length(s2)-1);
- title:=copy(rss,1,pos(s3,rss)-1);
- memo1.lines.add(title);
- mas[n].title:=title;
-
- Delete(rss,1,pos(s4,rss)+length(s4)-1);
- title:=copy(rss,1,pos(s5,rss)-1);
- memo1.lines.add(title);
- mas[n].purl:=title;
-
- n:=n+1;
- Application.ProcessMessages();
- end else break;
-
- end;
-
- inc(i);
- Application.ProcessMessages();
-
- end;
-
- procedure TForm1.Button1Click(Sender: TObject);
- begin
-
- mas1:=mas;
-
- pars('http://bigcinema.tv/','</span></li></ul></div><div
class="topic_info"><h2 class="title">','</h2>','<!-- / tag
groups--><a href="','" class="watch" title="');
- mas2:=mas;
-
- end;
-
- end.
-
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|