таймер

Тема в разделе "Delphi - Компоненты", создана пользователем nattaella, 22 июн 2011.

  1. nattaella

    nattaella Гость

    При нажатии на кнопку BitBtn1 у меня одновременно должны начать выполняться процедура RunRight(0); и в LEdit4 показываться числа от 15 до 0 с интервалом в 1 сек. :

    Код (Text):
     
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var p:integer;
    begin
    RunRight(0);
    for i:=5 downto 1 do begin
    LEdit4.Text:=inttostr(i);
    sleep(1000);
    Application.ProcessMessages;
    LEdit4.Text:=inttostr(i-1);
    end;
    end;
    Код (Text):
     
    Как сделать, чтоб они выполнялись одновременно? Может использовать потоки?
     
  2. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Можно через компонент TTimer
    на click вешаете
    Код (Text):
    begin
    RunRight(0);
    k:=0;
    EndTimer:=15;
    Timer1.enabled:=true;
    в обработчике таймера

    Код (Text):
    label4.caption:=k;
    timer1.enabled:=not(k=EndTimer);
    inc(k);
    переменные k,EndTimer глобальные целые.
    Однако это не означает, что ваша процедура будет идти 15 сек. Если вам необходимо именно по действиям процедуры ставить таймер нужно другое решение исходя их кода процедуры.
     
  3. ikot

    ikot Active Member

    Регистрация:
    11 июн 2008
    Сообщения:
    27
    Симпатии:
    0
    использование таймера не решит проблемы, так как код будет выполнятся последовательно, т.е. сначала выполнится процедура RunRight, а только затем включится таймер. И поскольку никому, кроме автора, неизвестно что делает эта процедура (а она может, например, заморозить работу основной программы на 30 мин. к примеру), то одним из вариантов решения - это использование потоков
     
Загрузка...
Похожие Темы - таймер
  1. Shouldercannon
    Ответов:
    0
    Просмотров:
    644
  2. Aris
    Ответов:
    0
    Просмотров:
    997
  3. масенький
    Ответов:
    0
    Просмотров:
    1.118
  4. shilovec5377
    Ответов:
    0
    Просмотров:
    1.572
  5. shilovec5377
    Ответов:
    0
    Просмотров:
    1.201

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