ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

[delphi] TThread
  #1  
Старый 22.01.2010, 14:23
InfectedM
Познающий
Регистрация: 04.11.2007
Сообщений: 51
Провел на форуме:
310791

Репутация: 6
Отправить сообщение для InfectedM с помощью ICQ
По умолчанию [delphi] TThread

Только начал разбираться с потоками,нашел примерчик ,изменил чуть под себя и вот что получилось:
Программа скачивает в 3 потоках странички через Idhttp,но как я понял она их скачивает не паралельно а последовательно.

мне нужно написать программу каторая будет распозновать 20 капч одновременно в 20 потоках.

тоесть:
1) Скачиваю странику,получаю капчу,пока идет распознование(занимает 15 сек) скачиваю другую страничку и так далее...
После того как на всех потоках скачались странички и капча распознана к ним мы должны пройтись по ним ,собрать с каждого потока уже распознанную капчу и закрыть поток.


что нужно поправить и как вообще это делается подскажите плиз
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, ComCtrls,idhttp;

type
TForm1 = class(TForm)
Button2: TButton;

Button4: TButton;

procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);

procedure Button4Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

type
TMyPotok = class(TThread)
private
{ Private declarations }
protected
procedure execute; override;
end;

Const
MaxPotoks = 6;

var
Form1: TForm1;
MyPotokX: Array [0..10] of TMyPotok;
myidHTTP :Array [0..10] of TidHTTP;
myOtvet:Array [0..10] of TStringList;
I_potok: Integer;

implementation

{$R *.dfm}

Procedure TMyPotok.execute;
VAR
i: Integer;
begin

MessageBox(0,'сыр сыр сыр!!!', nil, 0);
myOtvet[I_potok].Text:=myidHTTP[I_potok].Get('http://ya.ru/');
//getCapcha;    // тут будет функцию распозновании капчи (распознает 10 секунд) 

myOtvet[I_potok].SaveToFile(inttostr(random(999))+'.html');
Application.ProcessMessages;
End;




procedure TForm1.Button2Click(Sender: TObject);
VAR
i: integer;
I_potok:integer;
begin

for I_potok:=0 to 2 do begin
myidHTTP[I_potok] := TidHTTP.Create(nil);
myOtvet[I_potok]:= TStringList.Create;
MyPotokX[I_potok]:= TMyPotok.create(true);
MyPotokX[I_potok].FreeOnTerminate:= True;
MyPotokX[I_potok].Priority:= tpLowest;

end;




try
For i:=0 to 2 do MyPotokX[i].Resume;
except
exit;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
I_potok:=0;
end;



procedure TForm1.Button4Click(Sender: TObject);
begin
I_potok:= 0;
end;



end.

Последний раз редактировалось InfectedM; 22.01.2010 в 17:35..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность с использованием CreateThread [Delphi] GlooK С/С++, C#, Delphi, .NET, Asm 6 25.10.2009 19:26
[Delphi] Вебкамера, датчик движения iama С/С++, C#, Delphi, .NET, Asm 6 11.10.2009 12:02
[DELPHI] Chunked-декодирование HTTP ответа GlooK С/С++, C#, Delphi, .NET, Asm 0 29.09.2009 22:09
[Delphi] Задержка в WinSock между send() и recv() GlooK С/С++, C#, Delphi, .NET, Asm 9 29.09.2009 18:26
[Delphi]. Вопрос по потокам. f0rward С/С++, C#, Delphi, .NET, Asm 2 24.05.2009 12:17



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ