Нужна задержка

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by nc.STRIEM, 29 May 2006.

  1. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    Пишу под Builder 6.0 короч нужна задерка выполнения, причем так чеб вывод не задерживался, поясню например такой кусочек:
    for(int i=0;i<5;i++)
    {
    Edit1->Text=i;
    Sleep(1000);
    }
    вроде как оно должны вывести сначало 1 потом 2 через сикунду, и.т.д.. но нифга неработает! снчал ниче не выводит потом через 5 секунды сазу выводит 4! Мож кто знает в чем дело????
     
  2. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    Не знаю как на С, а на Delphi ниже указанный код пашет...

    var i:integer;

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

    grinay IQ- 137%

    Joined:
    15 Jun 2004
    Messages:
    409
    Likes Received:
    174
    Reputations:
    305
    #include <windows.h>
    int main(){
    int i=1;
    while(i!=6){
    sleep(1000);
    printf("%d",i);
    i++;
    }
    }
     
  4. sn0w

    sn0w Статус пользователя:

    Joined:
    26 Jul 2005
    Messages:
    1,021
    Likes Received:
    1,200
    Reputations:
    327
    вставь Application->ProcessMessages(); в цикл. поскольку в твоем варианте поток исполнения не захватывает главный цикл обработки оконных сообщений а обрабатывает только твой код. как вариант (другой) ты можешь вставить свой код в отдельно созданный поток с помощью CreateThread
     
    #4 sn0w, 30 May 2006
    Last edited: 30 May 2006
  5. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    Пасиб sn0w все заработало!