Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

потоки, повторы.

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Pascal/Delphi только в данном разделе

Ответ
 
Опции темы
Старый 25.04.2012, 12:32   #1
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию потоки, повторы.

Всем привет.
Назрел такой вопросик:
Допустим у меня программа выполняет какие-то две процедуры.
1. Допустим граббит прокси.
2. Надо что бы прокси чекало на валид.
(просто пример)

Как сделать 1 процедуру в потоке я знаю.
Код:
TNewThread = class(TThread)
  private
  protected
    procedure Execute; override;
  public
    constructor Create(CreateSuspended: Boolean);
  end;
Код:
constructor TNewThread.Create(CreateSuspended: Boolean);
begin
  inherited Create(CreateSuspended);
end;
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 TNewThread.Create(false);
end;

procedure TNewThread.Execute;
begin
// ну и тут мы что-то выполняем.
end;
Если я добавлю 2 кнопку которая будит чекать прокси на валид, то она будит уже не в потоке и программа попусту будит зависать.
Как мне добавить многопоточность что бы форма при выполнении 2 процедуры не зависала?.

И еще проблема с прокси...
Допустим я кидаю 1 аккаунт и 3 прокси, если прокси валидные, то будит
на 1 аккаунт, 3 удачных аккаунта, а мне надо что бы она не повторяла цикл на этом аккаунте если он гуд, а то так у меня 1000 проксей валид/не валид и он будит на 1 аккаунт эти 1000 проксей чекать и будут удачые/неудачные

Ребят помогите
  Ответить с цитированием
Старый 25.04.2012, 15:08   #2
Заблокирован
 Пехотинец
Аватар для Skrillex3
 
Skrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компании
Регистрация: 23.03.2012
Сообщений: 83
Популярность: 908
Сказал(а) спасибо: 102
Поблагодарили 144 раз(а) в 61 сообщениях
Отправить сообщение для Skrillex3 с помощью Skype™
 
По умолчанию Re: потоки, повторы.

Например записываешь адрес в стринглист1 порт в стринглист2 дальше устанавливаешь тайм аут для хттп и в екзекуте запускаешь цикл и чекаешь
выглядеть будет как то так
Цитата:
procedure TForm1.Button1Click(Sender: TObject);
begin
http.ReadTimeout := 3000; // в милисекундах
TNewThread.Create(false);
end;

дальше екзекут
Цитата:
procedure TNewThread.Execute;
var i : integer;
begin
if StrList1.Count=Strlist2.count
then
begin
for i:= 0 to strlist1 -1 do
begin
Http.ProxyParams.ProxyServer:=StrList1[i];
Http.ProxyParams.ProxyPort:=StrList2[i];
S := http.Get('http://ya.ru/');
if Pos('ya.ru', resp) <> 0 then
Memo1.lines.add(StrList1[i]+':'+StrList2[i]) else //говорим что не валидный
Memo2.lines.add(StrList1[i]+':'+StrList2[i]); //говорим что валидный
end;
end;
end;

только в 1 потоке оно будет долго перебирать , как сделать в нескольких? Юзай поиск
  Ответить с цитированием
Старый 25.04.2012, 15:29   #3
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: потоки, повторы.

Цитата:
Сообщение от Skrillex3Посмотреть сообщение
Например записываешь адрес в стринглист1 порт в стринглист2 дальше устанавливаешь тайм аут для хттп и в екзекуте запускаешь цикл и чекаешь
выглядеть будет как то так

дальше екзекут

только в 1 потоке оно будет долго перебирать , как сделать в нескольких? Юзай поиск

Вы не понели...

У меня 2 кнопки, 1 допустим грабит прокси, 2 кнопка чекает на валид.
в 1 кнопки я сделал в потоке, а во второй не могу, из-за этого при выполнении кода 2 кнопки программа зависает

кароче вот пример
Цитата:
button1.click
begin
tnewthread.create(false);
end;
procedure TNewThread.Execute;
begin
// мой код и когда я юзаю 1 кнопку все окей программа не зависает.
end;


для 2 кнопки не получается повторить что тут даете ошибку TNewThread.Execute;
Т.е для второй кнопки писал

Цитата:
button2.click
begin
tnewthread.create(false);
end;
procedure TNewThread.Execute; // дает ошибку :|
begin

end;

а мне надо что бы и на 2 кнопку работал поток что бы программа при нажатии 2 кнопки не зависла.

Добавлено через 13 минут
все решил проблему почитал статью (мб кому надо про потоки давольно таки интересно [Ссылки могут видеть только зарегистрированные пользователи. ] )
добавил
Цитата:
TNewThread1 = class(TThread)
private
protected
procedure Execute; override;
public
constructor Create(CreateSuspended: Boolean);
end;

Ребят помогите теперь с проксями, кароче программа логинится на сайт все окей, да но вот есть одно НО если я кину в мемо 3 прокси и они будут валид, то на 1 аккаунт у меня выдаст 3 гуда :|
а мне надо что бы такого не было, вот зашло гуд или бэд и все, что бы он не брал и не переберал с так.А то кину 10000 проксей и 100 логинов, и он каждый логин с пасом будит ставить по очереди к каждой прокси...

Последний раз редактировалось pavel!; 25.04.2012 в 15:46. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 25.04.2012, 16:32   #4
Заблокирован
 Пехотинец
Аватар для Skrillex3
 
Skrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компанииSkrillex3 душа компании
Регистрация: 23.03.2012
Сообщений: 83
Популярность: 908
Сказал(а) спасибо: 102
Поблагодарили 144 раз(а) в 61 сообщениях
Отправить сообщение для Skrillex3 с помощью Skype™
 
По умолчанию Re: потоки, повторы.

естественно программа будет виснуть ,ты не правильно поток запускаешь , так будет правильно
Цитата:
// создание экземпляра класса
Thread := TMultiThread.Create(true);
// после завершения потока, уничтожать его
Thread.FreeOnTerminate := true;
// запуск потока
Thread.Resume;

ну или на крайняк ещё 1 поток создать
  Ответить с цитированием
Старый 26.04.2012, 23:19   #5
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: потоки, повторы.

ребят не как не могу с многопоточностью справится, т.е запустить сразу не 1 поток, а допустимм 100 или 500
все летит в ерор или программа зависает
Пробую так:
Цитата:
for Thread:=1 to StrToInt(sEdit2.text) do
TNewThread.Create(false);
Thread:=strtoint(sEdit2.Text);

Thread:integer
потом идет
procedure TNewThread.Execute;
begin
\\\мой код
и в конце
dec(Thread);
end;
  Ответить с цитированием
Старый 27.04.2012, 06:43   #6
 Разведчик
Аватар для R.A.Z.O.R.
 
R.A.Z.O.R. скоро будет известенR.A.Z.O.R. скоро будет известенR.A.Z.O.R. скоро будет известенR.A.Z.O.R. скоро будет известенR.A.Z.O.R. скоро будет известен
Регистрация: 19.02.2012
Сообщений: 36
Популярность: 447
Сказал(а) спасибо: 25
Поблагодарили 50 раз(а) в 40 сообщениях
Отправить сообщение для R.A.Z.O.R. с помощью Skype™
 
По умолчанию Re: потоки, повторы.

Цитата:
Сообщение от pavel!Посмотреть сообщение
TNewThread.Create(false);

Кто-же так это делает???

Объявляешь массив потоков, например
Код:
var
   Threads: array of TNewThread;
Делаешь Edit, в котором выбираешь кол-во потоков, например Edit1, и запускаешь их
Код:
var i: integer;
begin
   SetLength(Threads,StrToInt(Edit1.Text));
   
   for i := 0 to High(Threads) do
   begin
      Threads[i] := TNewThread.Create(False);
   end;
end;

Последний раз редактировалось R.A.Z.O.R.; 27.04.2012 в 06:50.
  Ответить с цитированием
Старый 28.04.2012, 15:12   #7
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: потоки, повторы.

Цитата:
Сообщение от R.A.Z.O.R.Посмотреть сообщение
Кто-же так это делает???

Объявляешь массив потоков, например
Код:
var
   Threads: array of TNewThread;
Делаешь Edit, в котором выбираешь кол-во потоков, например Edit1, и запускаешь их
Код:
var i: integer;
begin
   SetLength(Threads,StrToInt(Edit1.Text));
   
   for i := 0 to High(Threads) do
   begin
      Threads[i] := TNewThread.Create(False);
   end;
end;

Тоже самое что и у меня...
все летит в бад и после чего программа зависает.
  Ответить с цитированием
Старый 28.04.2012, 15:30   #8
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: потоки, повторы.

Цитата:
Сообщение от pavel!Посмотреть сообщение
все летит в бад и после чего программа зависает

Ну так действия потока нужно грамотно оформить
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.


  Ответить с цитированием
Старый 28.04.2012, 15:42   #9
 Разведчик
Аватар для pavel!
 
pavel! никому не известный тип
Регистрация: 30.09.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: потоки, повторы.

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Ну так действия потока нужно грамотно оформить

у меня не получается грамотно (:
  Ответить с цитированием
Старый 28.04.2012, 18:07   #10
Super Moderator
 Сержант
Аватар для Рэйзор
 
Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(Рэйзор сломал счётчик популярности :(
Регистрация: 20.07.2010
Сообщений: 138
Популярность: 26409
Сказал(а) спасибо: 53
Поблагодарили 567 раз(а) в 198 сообщениях
 
По умолчанию Re: потоки, повторы.

Для простых действий необязательно использовать класс TThread.
Можно пользоваться WinApi BeginThread (не CreateThread)

Пример вызова с передачей нескольких параметров (подробная информация есть в гугле). Важно: Процедура не должна относиться ни к какому классу.
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось Рэйзор; 28.04.2012 в 18:10.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Потоки/Повторы(чарли) psix1407 Общение и обсуждение 15 29.03.2012 18:28
[Помогите!] Повторы ViPeR-SeD Общение и обсуждение (Тюряга ВК) 3 02.05.2011 22:39
[Подсказка] повторы onotol3 Общение и обсуждение, архив Lineage 2 1 27.02.2011 11:24

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 02:15.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net