Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2013, 22:13   #1
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию Управление циклом FOR

Добрый день. Есть код:
Код:
var
  Main: TMain;
  gFlag:Boolean;
implementation
..............
procedure TMain.Button1Click(Sender: TObject);
(* 25.04.13 Поцедура, время работы 20...30 сек*)
procedure TotalLoader(Str:string);
begin
  gFlag:=False; 
  (*много всякого*)
  gFlag:=True;  (*в конце работы устанвливает флаг*)
end;
(*-------------------------------------------*)

var I:integer;  StrRequest,FullListOfRequest:string;
begin
if (Memo1.Lines.Count > 0) then    
  begin
  for I := 0 to Memo1.Lines.Count-1 do
    begin
      StrRequest:=Memo1.Lines[I];  
      TotalLoader(StrRequest);     (*вызов асинхронной процедуры*)
      // нужно преостановить выполнение цикла пока не отработает TotalLoader
      // и не установит gFlag:=True;
    end;
  end
  else  ShowMessage('Enter Search Request!');
end;
Вопрос: есть ли возможность(как?) управлять работой цикла, или надо как то по другому?
Pcrepair вне форума Ответить с цитированием
Старый 26.04.2013, 22:16   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

А зачем тогда TotalLoader асинхронная, если важно ждать ее исполнения?
(И вообще, есть сомнения, что она асинхронная)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 26.04.2013, 22:21   #3
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

TotalLoader асинхронная - тот самый загрузчик страниц из поисковых машин, ему передаются слова запроса и оно 15....50 сек вытягивает УРЛ из 10-ка ПМ. асинхронность в том смысле что время получения результата заранее неизветсно. типа как ракета воздух-воздух: запустил и все
Pcrepair вне форума Ответить с цитированием
Старый 26.04.2013, 22:24   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Pcrepair Посмотреть сообщение
TotalLoader асинхронная - тот самый загрузчик страниц из поисковых машин, ему передаются слова запроса и оно 15....50 сек вытягивает УРЛ из 10-ка ПМ. асинхронность в том смысле что время получения результата заранее неизветсно. типа как ракета воздух-воздух: запустил и все
асинхронность это когда вы запустили процедуру и код её запустивший пошел работать дальше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.04.2013, 22:31   #5
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

тогда тут все наоборот получается: процедура запущена и надо ждать когда она закончит свою работу.
вот только эта процедура вызывает до 10 потоков, каждый из которых подключается к своей ПМ и асинхронно передает результат в накопитель. после чего увеличивает счетчик на +1. таймер пасет счетчик и когда счетчик = 10 необходимо возобновить работу цикла, передать новое значение(строка) в TotalLoader и все по новой, пока в МЕМО не обработаны все строки

Последний раз редактировалось Pcrepair; 26.04.2013 в 22:34.
Pcrepair вне форума Ответить с цитированием
Старый 26.04.2013, 22:38   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

бред какойто..
вам чего надото сделать?
eval вне форума Ответить с цитированием
Старый 26.04.2013, 22:49   #7
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

большой и жирный крекер интернета, что же еще? гыгы
Pcrepair вне форума Ответить с цитированием
Старый 26.04.2013, 22:51   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

тогда считайте что он уже готов
eval вне форума Ответить с цитированием
Старый 26.04.2013, 22:58   #9
Pcrepair
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 260
По умолчанию

еще нет, но к лету будет готов
Pcrepair вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление циклом через case-инструкцию Nomicos Помощь студентам 2 09.07.2012 23:45
Проблемы с циклом!!! Вечно грустная... Помощь студентам 0 13.11.2011 18:53
Проблема с циклом DsDevis Паскаль, Turbo Pascal, PascalABC.NET 8 24.01.2011 00:01
Что-то с циклом VetalMan Помощь студентам 1 10.05.2010 11:20
задача с циклом for lammy Помощь студентам 3 04.12.2009 06:45