Код:
type
PSTRUCT = ^STRUCT;
STRUCT = record
i,j: cardinal;
end;
var
tid: cardinal;
SLemail, SLpass: TstringList;
procedure Multi(param: Pointer); stdcall;
var
first, second: cardinal;
full: string;
begin
first:=integer( PSTRUCT(param).i);
second:=integer( PSTRUCT(param).j);
MessageBox(0,Pchar(SLEmail.Strings[first]),Pchar(SLpass[second]),0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j: integer;
_struct: PSTRUCT;
begin
SLEmail:=TStringList.Create; SLEMail.Clear;
SLpass:=TStringList.Create; SLPass.Clear;
SLEmail.Add('1@mail.ru');
SLEmail.Add('2@mail.ru');
SLpass.Add('password1'); SLPass.Add('password2');
for i:=0 to SLEmail.Count -1 do
for j:=0 to SLPass.Count -1 do begin
Application.ProcessMessages;
New(_struct);
_struct^.i:=i; _struct^.j:=j;
createthread(nil,0,@Multi,_struct,0,tid);
end;
end;
Создаются потоки, и в каждом потоке создается мессаг содержащий email; password, которые занесены в список. Процедура Multi обработчик потока, модифицируй его по своему усмотрению. С indy не пробал, т.ч., попробуй так, если даже щас будут задержки, то придется писать POST запрос на сокетах...
|