Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как реализовать "Паузу" подпрограммы кнопкой? 
V
    Опции темы
GeneUA
Дата 7.10.2010, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте!
Имеется подпрограмма на VB6 интенсивно считающая систему диффуравнений и выводящая графич. информацию на Picture. 
Необходимо прерывать вычислительную подпрограмму в любой момент времени (обычно после прорисовки одной точки на графике) с помощью кнопки (или на клик мышки) и дальнейшее продолжения счета с точки останова.
Полагал, что  решение возможно с помощью набор кнопок управления (типа Старт, Стоп, Пауза и ШагВперед) в панели Tollbar главной формы программы, но работает только Старт - запускает программу счета. Когда же она запущена, то не реагирует на управление остальными кнопками (Стоп, Пауза и  пр) до достижения конца кода. 
 smile 

Помогите правильно организовать прерывание. Желательно - не снижая сильно скорости счета программы.
Заранее благодарен.
PM MAIL   Вверх
Akina
Дата 7.10.2010, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Для осмысленного ответа недостаточно данных.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
hclubmk
Дата 7.10.2010, 13:00 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(GeneUA @  7.10.2010,  11:58 Найти цитируемый пост)
не реагирует на управление 

DoEvents в цикл вычислений
PM MAIL   Вверх
GeneUA
  Дата 7.10.2010, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(hclubmk @ 7.10.2010,  13:00)
Цитата(GeneUA @  7.10.2010,  11:58 Найти цитируемый пост)
не реагирует на управление 

DoEvents в цикл вычислений

Во, то шо надо! Спасибо hclubmk !!! 
PM MAIL   Вверх
suvorr
Дата 8.10.2010, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



DoEvents может хорошо тормознуть процесс.. смотря как долго обсчитываешь точку.. если недолго, то ставь ее пореже..
PM MAIL WWW Skype   Вверх
Akina
Дата 8.10.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(suvorr @  8.10.2010,  19:23 Найти цитируемый пост)
DoEvents может хорошо тормознуть процесс.. смотря как долго обсчитываешь точку.. если недолго, то ставь ее пореже.. 

Ну это классика:
Код

i=0
do ...
...
  i=(i+1) mod N
  if not i then DoEvents
loop ...
Подбираем N для максимального комфорта.
Есть также вариант выставления флага по таймеру (обычно inteval=50 достаточно)
Код

sub timer1_timer
flag=true
end sub

sub work
...
do ...
...
  if flag then 
     DoEvents
     flag=false
  end if
loop ...
...
end sub



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
GeneUA
Дата 12.10.2010, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Да, спасибо всем! Вы мне здорово помогли!

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

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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