![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Народ, сорри, но уже мозг кипит. есть кнопка на форме для запуска потоков.
Код:
var Form1: TForm1; Pay: array [1..2000] of BUX; http_1: array [1..2000] of TIdHTTP; IdCookieManager1_Pay: array [1..2000] of TIdCookieManager; procedure TForm2.Bux_Button2Click(Sender: TObject); var w:integer; s:integer; cw : integer; // счетчик цикло begin for w:=1 to Form2.Listview1.Items.count do begin Pay[w]:=1.Create(True); Pay[w].FreeOnTerminate := True; Pay[w].Priority:=tpnormal; Pay[w].Resume; end; end; есть поток Код:
unit T1;
interface
uses
Windows, SysUtils, Dialogs, Classes, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, RpDefine, RpRender, RpRenderHTML,
IdCookieManager, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL,
IdSSLOpenSSL, StrUtils, pngimage;
type
1 = class(TThread)
http_1:TIdHTTP;
IdCookieManager1_Pay: TIdCookieManager;
RvRenderHTML2: TRvRenderHTML;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
private
{ Private declarations }
protected
procedure Execute; override;
public
end;
implementation
uses
Unit1
procedure 1.Execute;
var
cw : integer; // счетчик цикло
i : integer; // счетчик цикло
a : integer; // счетчик цикло
BPos : integer; // счетчик цикло
EPos : integer; // счетчик цикло
st:TStringStream;
str:AnsiString;
s:TStringStream;
URL_Pay:String;
Login:String;
Pass:String;
inf:TStringList;
img: TMemoryStream;
png: TPNGObject;
begin
for i:=0 to Form2.Listview1.Items.count-1 do
begin
URL_Pay :=Form2.Listview1.Items[i].SubItems[0];//сайты
Login := Form2.Listview1.Items[i].SubItems[1];//логины
Pass := Form2.Listview1.Items[i].SubItems[2];//пароли
begin
IdCookieManager1_Pay:= TIdCookieManager.Create(nil);
http_1 := TidHTTP.Create(nil);
http_1.AllowCookies:=true;
http_1.HandleRedirects:= true;
cw:=getnumber;
s:=TStringStream.Create;
st:=TStringStream.Create;
inf:=tstringlist.create;
begin
http_1.get('http://' + URL_Pay + 'login.php?r=',s);
end;
If pos('image.php?', s.datastring)>0 then
begin
///
end
else
///
end;
try
except
end;
end;
finally
http_1.free;
end;
end;
end;
;Код:
cw : integer; ind:integer=-1; function getnumber:integer; begin if ind<>form1.Listview1.items.Count then inc(ind); result:=ind; end; begin while cw<form2.Listview1.items.Count do begin Что мне нада сделать для того что бы для каждой записи создавался поток и работал только с нею ![]() Последний раз редактировалось bulldog, 11.11.2010 в 10:07. |
|
#2
|
|||
|
|||
|
Народ, ну помогите в решении тупиковой задачи
|
|
#3
|
||||
|
||||
|
Код:
type
TBot = class(TThread)
private
FUrl_Pay,
FLogin,
FPassword: String;
http_1:TIdHTTP;
IdCookieManager1_Pay: TIdCookieManager;
RvRenderHTML2: TRvRenderHTML;
IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
protected
procedure Execute; override;
public
constructor Create(CreateSuspended: Boolean; aUrl, aLog, aPas: String);
destructor Destroy; override;
end;
implementation
uses
Unit1;
constructor TBot.Create(CreateSuspended: Boolean; aUrl, aLog, aPass: String);
begin
inherited Create(CreateSuspended);
FreeOnTerminate:= True;
Priority:= tpLower;
FUrl_Pay:= aUrl;
FLogin:= aLog;
FPassword:= aPass;
http_1:= TIdHTTP.Create(Nil);
IdCookieManager1_Pay:= TIdCookieManager.Create(Nil);
RvRenderHTML2:= TRvRenderHTML.Create(Nil);
IdSSLIOHandlerSocketOpenSSL1:= TIdSSLIOHandlerSocketOpenSSL.Create(Nil);
http_1.AllowCookies:= True;
http_1.HandleRedirects:= True;
http_1.CookieManager:= IdCookieManager1_Pay;
end;
destructor TBot.Destroy;
begin
http_1.Free;
IdCookieManager1_Pay.Free;
RvRenderHTML2.Free;
IdSSLIOHandlerSocketOpenSSL1.Free;
inherited Destroy;
end;
procedure TBot.Execute;
begin
try
http_1.get('http://' + FUrl_Pay + 'login.php?r=',s);
except
Exit;
end;
end;Код:
type
TForm1 = class(TForm)
Button1: TButton;
private
BotArray: array of TBot;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
SetLength(BotArray, Listview1.Items.count);
for I:= 0 to Listview1.Items.count-1 do
begin
BotArray[i]:= TBot.Create(True);
BotArray[i].Resume;
end;
end; |
|
#4
|
|||
|
|||
|
Выводит в ошибку [DCC Error] Unit1.pas(52): E2008 Incompatible types
SetLength(<<BotArray>>, Listview1.Items.count); //ошибку я пометил так <<>> |