таймер

Тема в разделе "Delphi - Компоненты", создана пользователем darkcoder, 5 дек 2007.

  1. darkcoder

    darkcoder Гость

    Привет
    Подскажите как сделать чтобы программа ничего не делала n секунд.
    Timer1.Enable:=true;
    Timer1.Interval:=1000;
    while Timer1.Enable=true do..
    Почему сваливается б бесконечный цикл(из цикал не вызывает событие ontimer)?
    Как сделать правильно?

    Второй вопрос, то же самое только время 'спячки' должно случайно выбираться в диапазоне от 10 до 60 секнуд?
    Спасибо!
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-darkcoder+5:12:2007, 13:29 -->
    <span class="vbquote">(darkcoder @ 5:12:2007, 13:29 )</span><!--QuoteEBegin-->Подскажите как сделать чтобы программа ничего не делала n секунд.
    [snapback]88487" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Что то не совсем понял... разьясните-ка ... что бы понять к чему это
     
  3. darkcoder

    darkcoder Гость

    Memo1.Lines.Add('test1');
    ничего не далть несолько сенкунд
    Memo1.Lines.Add('test2');
     
  4. Silver Wind

    Silver Wind Гость

    Наверное надо использовать Sleep(n) - WinAPI-функция, приостанавливающая поток, вызвавший ее на n милисекунд.
    Если хочется чего-то подобного с использованием таймера, то такой таймер надо в отдельный поток выносить.
    Еще, как вариант, можно использовать цикл с GetTickCount().

    Да и еще один не маловажный момент. При использовании Sleep или цикла с GetTickCount программа не будет реагировать на действия пользователя и выглядеть зависшей. Если пауза на доли секунд, секунду, то, наверное, это не страшно, а вот если интервал большой стоит задуматься о другом решении этой задачи.
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Думаю обычного Sleep тут хватить
     
  6. darkcoder

    darkcoder Гость

    Почему с использованием такой конструкции окно появляется не сразу а после того как программа отработает то есть через 5 сек?

    Код (Text):
    procedure TForm2.FormCreate(Sender: TObject);
    begin
    Memo1.Lines.Clear;
    Memo1.Lines.Add('1');
    sleep(5000);
    Memo1.Lines.Add('2');
    end;
    Так как делать то чтоб правильно было? Может есть рабочий примерчик на TTimer?
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-darkcoder+5:12:2007, 14:35 -->
    <span class="vbquote">(darkcoder @ 5:12:2007, 14:35 )</span><!--QuoteEBegin-->FormCreate
    [snapback]88499" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Юзайте OnShow

    зачем Вам именно таймер ?
     
Загрузка...
Похожие Темы - таймер
  1. Shouldercannon
    Ответов:
    0
    Просмотров:
    632
  2. Aris
    Ответов:
    0
    Просмотров:
    996
  3. масенький
    Ответов:
    0
    Просмотров:
    1.115
  4. shilovec5377
    Ответов:
    0
    Просмотров:
    1.572
  5. shilovec5377
    Ответов:
    0
    Просмотров:
    1.200

Поделиться этой страницей