На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: jack128, Rouse_, Krid
  
    > Задержка (пауза) в программе
      Вариант 1:

      ExpandedWrap disabled
        Sleep(x);

      где x - количество милисекунд (1/1000 секунды).
      Например Sleep(5000); даст задержку в 5 секунд.
      Во время Sleep выполнение текущего потока останавливается и процессорное время отдаётся другими потокам, поэтому вы не сможете во время этой паузы сделать например визуализацию этой паузы (например, прогрессбар или анимацию), поэтому в таком случае вам больше подойдёт:

      Вариант 2:
      ExpandedWrap disabled
        Function Delay(X: Cardinal);
        Var t: cardinal;
        begin
         t:=GetTickCount;
         While (GetTickCount <= t + X) Do
          Begin
            { Обрабатываем сообщения }
           Application.ProcessMessages;
            { отдаём часть процессорного времени другим потокам }
           Sleep(1);
          End; {While}
        End;


      Вызов:
      ExpandedWrap disabled
         Delay(5000);

      Даст задержку в 5 секунд с возможностью визуализации.
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0281 ]   [ 16 queries used ]   [ Generated: 27.04.24, 06:00 GMT ]