Показать сообщение отдельно

  #2  
Старый 22.08.2009, 22:22
flacs
Познающий
Регистрация: 28.01.2009
Сообщений: 90
Провел на форуме:
432613

Репутация: 80
По умолчанию

Код:
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 запрос на сокетах...

Последний раз редактировалось flacs; 22.08.2009 в 22:34..
 
Ответить с цитированием