Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск слов для игры "Балда", Слишком медленный алгоритм... 
:(
    Опции темы
Superklug
Дата 10.2.2007, 01:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 16.6.2006

Репутация: нет
Всего: нет



Цитата(Anikmar @  10.2.2007,  01:20 Найти цитируемый пост)
Имеется в виду поиск в БД?

 А какая БД используется? 

Нет, БД не использую. Может быть и нужно, но я не умею... smile А это важно? Я думаю все намного проще. Как сделать чтобы реакция на нажатие кнопки "Отмена" наступала сразу, а не после окончания процесса?

P.S. Что-то мы не в той теме об этом говорим...
PM MAIL   Вверх
Anikmar
Дата 10.2.2007, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 59



Цитата(Superklug @  10.2.2007,  01:16 Найти цитируемый пост)
Помнишь ты говорил, про Application->ProcessMessages()? Так вот это не совсем то, что мне нужно. Мне нужно, чтобы можно было отменить процесс поиска. Как это сделать? 

Вам уже был совет, поэтому я уточнил.

Цитата(Superklug @  10.2.2007,  01:51 Найти цитируемый пост)
Нет, БД не использую. Может быть и нужно, но я не умею...  А это важно? Я думаю все намного проще. Как сделать чтобы реакция на нажатие кнопки "Отмена" наступала сразу, а не после окончания процесса?

Пользуйтесь вышеприведенным советом. В процессе поиска опрашиваете некий внешний раздражитель (нажатие на клавишу, мышьку, щелчок на кнопке) - если случилось прерывайте поиск. Опрашивать следует в самом внутреннем цикле.
PM MAIL ICQ   Вверх
_Evrey_
Дата 10.2.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Для того чтобы предотвратить цикл необходимо выставить глобальную переменную, и в цикле проверять, если значение изменилось то выход, например...
Код

bool is_exit = false;
for(int i=0;i<100000;i++)
{
  if(is_exit)
    break;
 for(j=0;j<1000000;j++)
 {
   if(is_exit)
     break;
  while(true)
  {
    if(is_exit)
      break;
    Application->ProcessMessage(); // Это необходимо для того чтобы основное приложение, принимала 
                                                        // события.
    // Производятся какие то вычисления...
  }
 }
}

............

void __fastcall Form1::Button1Click(Object *Sender)
{
 is_exit = true;
}

Проверять выход лучше всего вначале цикла.. 
PM MAIL   Вверх
Toska
Дата 27.10.2007, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



тут были выложены исходники.... 
ссылка устарела :wack 

выложите пожалуйста снова  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.