Полная версия этой страницы:
Помогите, кто чем может ! ! !
Dervish
22:03:2007, 12:42
Как можно зделать паузу в цикле:
n:=0;
repeat
n:=n+1;
until n=100;
ну типа delay(integer) в Турбо Паскале.
sleep(integer)- я уже пробовал не помогло.
Короче этот цикл я использую для графики, ну для движения линии по кругу(рисунок на прикрепленном файле). В цикл я вставил sleep(integer) - программа регистрирует паузу но не дает изображение, Форма показивает рисунок только после токо как линия уже сделала круг, а мне нужно чтоб я видел как линия проходит каждую ступень. С формулой все ok, только в паузе проблема или я ее не правильно использую.
Помогите, буду благодарен, спс заранее.
European
22:03:2007, 13:14
Оставь sleep и на каждой итерации обновляй окно, а лучше ту область, которая была изменена
Barmutik
22:03:2007, 14:54
Чnо-нибудь аля PaintBox.Repaint
Как я понимаю, цикл происходит в основном потоке программы, поэтому неплохо к Sleep добавлять Application.ProcessMessages. Скорее всего решится вопрос с обновлением рисунка, да и программа будет способна реагировать на действия пользователя (например пытающегося нажать кнопку Close).
Ant1b1ot1k
12:04:2007, 09:20
Цитата(European @ 22:03:2007, 15:14 )
Оставь sleep и на каждой итерации обновляй окно, а лучше ту область, которая была изменена
Используй вот эту команду, её надо вставлять в цикле:
Form1.Refresh;
Программистыч
30:05:2007, 10:56
n:=0;
repeat
refresh:
n:=n+1;
until n=100;
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.