PDA

Просмотр полной версии : Нужна задержка


nc.STRIEM
29.05.2006, 21:27
Пишу под Builder 6.0 короч нужна задерка выполнения, причем так чеб вывод не задерживался, поясню например такой кусочек:
for(int i=0;i<5;i++)
{
Edit1->Text=i;
Sleep(1000);
}
вроде как оно должны вывести сначало 1 потом 2 через сикунду, и.т.д.. но нифга неработает! снчал ниче не выводит потом через 5 секунды сазу выводит 4! Мож кто знает в чем дело????

W!z@rD
30.05.2006, 01:33
Не знаю как на С, а на Delphi ниже указанный код пашет...

var i:integer;

begin
i:=0;
repeat
writeln(i);
inc(i); //счетчик прибавления на 1.
sleep(1000);
until i=10;

grinay
30.05.2006, 06:07
#include <windows.h>
int main(){
int i=1;
while(i!=6){
sleep(1000);
printf("%d",i);
i++;
}
}

sn0w
30.05.2006, 13:28
вставь Application->ProcessMessages(); в цикл. поскольку в твоем варианте поток исполнения не захватывает главный цикл обработки оконных сообщений а обрабатывает только твой код. как вариант (другой) ты можешь вставить свой код в отдельно созданный поток с помощью CreateThread

nc.STRIEM
31.05.2006, 14:54
Пасиб sn0w все заработало!