0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 34
|
||||||
1 | ||||||
Ожидание окончания работы Timer17.10.2014, 12:51. Показов 2673. Ответов 5
Метки нет (Все метки)
Итак проблема вот в чём: у меня в программе вылетают шарики из разных труб(случайных), вылет шара реализован с помощью таймера
Если сделать цикл, то по таймеру проходит 1 раз и шар делает всего 1 сдвиг на Top+10. Как сделать так, чтобы программа подождала пока таймер закончит свою работу, а только потом идти на следующий шаг цикла?
0
|
17.10.2014, 12:51 | |
Ответы с готовыми решениями:
5
Ожидание окончания процедуры OnDocumentComplete или ожидание окончания загрузки Оповещение окончания времени выполнения работы в программе Ожидание завершения работы потоков |
842 / 737 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
||||||||||||||||
17.10.2014, 14:07 | 2 | |||||||||||||||
Потому что ты так и написал в коде -
Заведи переменную s счетчик внутри таймера и плюсуй к ней единицу, inc(s) потом пиши например условие:
Такое ощущение что ты и сам незнаеш какое условие тебе нужно.
0
|
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 34
|
||||||
17.10.2014, 14:16 [ТС] | 3 | |||||
Каждый раз надо вызывать процедуру перемещения шара, ведь вылетает именно случайный шар, а в той процедуре еще происходит выбор шара. На счёт выключения таймера: таймер хотел выключить, когда шар дойдет до нужного места, потом генерировать случайный шар и снова запускать таймер. Может я что то не понимаю именно в том КАК работает таймер?
Добавлено через 5 минут У меня как раз стоит это условие, если ты не увидел
0
|
842 / 737 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
|
||||||
17.10.2014, 15:21 | 4 | |||||
Сообщение было отмечено chstr как решение
Решение
Вылетают случайные шары из разных труб и по условию сделал тебе когда шар достиг низа формы он поднимается наверх и вылетает следующий шар из случайной трубы, а этот шар что подняли стоит и ждет своей очереди.
Если нужно слишком много шариков, тогда динамически их создадим.
2
|
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 34
|
||||||
18.10.2014, 03:15 [ТС] | 5 | |||||
С полетами разобрался, спасибо. Есть ещё 1 вопрос по таймеру, почему я не могу его вызвать в этой процедуре (он ругается на Timer1.Enabled:=true), а например в Button'е в событии OnClick он работает без ругани
0
|
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
|
||||||||||||||||
18.10.2014, 03:32 | 6 | |||||||||||||||
В этой процедуре Timer1 находится вне своей области видимости. Надо в процедуре объявить параметр и через него передавать ссылку на таймер:
1
|
18.10.2014, 03:32 | |
18.10.2014, 03:32 | |
Помогаю со студенческими работами здесь
6
Ожидание нажатия клавиши Enter для продолжения работы процедуры Запуск/остановка таймера при вводе в Edit команд Timer Start/Timer Stop ShellExecuteEx, WaitForSingleObject, Ожидание завершения работы другого приложения Ожидание окончания работы запущенных процессов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |