Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите, кто чем может ! ! !
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
Dervish
Как можно зделать паузу в цикле:

n:=0;
repeat
n:=n+1;
until n=100;

ну типа delay(integer) в Турбо Паскале.
sleep(integer)- я уже пробовал не помогло.
Короче этот цикл я использую для графики, ну для движения линии по кругу(рисунок на прикрепленном файле). В цикл я вставил sleep(integer) - программа регистрирует паузу но не дает изображение, Форма показивает рисунок только после токо как линия уже сделала круг, а мне нужно чтоб я видел как линия проходит каждую ступень. С формулой все ok, только в паузе проблема или я ее не правильно использую.

Помогите, буду благодарен, спс заранее.
European
Оставь sleep и на каждой итерации обновляй окно, а лучше ту область, которая была изменена
Barmutik
Чnо-нибудь аля PaintBox.Repaint
zubr
Как я понимаю, цикл происходит в основном потоке программы, поэтому неплохо к Sleep добавлять Application.ProcessMessages. Скорее всего решится вопрос с обновлением рисунка, да и программа будет способна реагировать на действия пользователя (например пытающегося нажать кнопку Close).
Ant1b1ot1k
Цитата(European @ 22:03:2007, 15:14 )
Оставь sleep и на каждой итерации обновляй окно, а лучше ту область, которая была изменена
*


Используй вот эту команду, её надо вставлять в цикле:
Form1.Refresh;
Программистыч
n:=0;
repeat
refresh:
n:=n+1;
until n=100;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.